Java Instant Calculate getSnowflakeFromTimestamp(Instant date)

Here you can find the source of getSnowflakeFromTimestamp(Instant date)

Description

Gets a snowflake from a unix timestamp.

License

Open Source License

Parameter

Parameter Description
date The date that should be converted to a unix timestamp for use in the snowflake.

Return

A snowflake with the given timestamp.

Declaration

public static long getSnowflakeFromTimestamp(Instant date) 

Method Source Code

//package com.java2s;
/*/*from  w w  w  . java 2 s .c om*/
 *     This file is part of Discord4J.
 *
 *     Discord4J is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU Lesser General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 *
 *     Discord4J is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU Lesser General Public License for more details.
 *
 *     You should have received a copy of the GNU Lesser General Public License
 *     along with Discord4J.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.time.Instant;

public class Main {
    /**
     * The unix time that represents Discord's epoch. (January 1, 2015).
     */
    public static final long DISCORD_EPOCH = 1420070400000L;

    /**
     * Gets a snowflake from a unix timestamp.
     * <p>
     * This snowflake only contains accurate information about the timestamp (not about other parts of the snowflake).
     * The returned snowflake is only one of many that could exist at the given timestamp.
     *
     * @param date The date that should be converted to a unix timestamp for use in the snowflake.
     * @return A snowflake with the given timestamp.
     */
    public static long getSnowflakeFromTimestamp(Instant date) {
        return (date.toEpochMilli() - DISCORD_EPOCH) << 22;
    }
}

Related

  1. convertToUserTimeZone(Instant timeInSystem, ZoneId userZoneId)
  2. dateOf(final Instant time)
  3. epochToInstant(long epochMilliSecond)
  4. getNquadsFile(final File dir, final Instant time)
  5. getPeriodInstant(LocalDate localDate)
  6. isEqualOrAfterNow(Instant now, Instant instant)
  7. maxInstant(Instant v1, Instant v2)
  8. nanos(Instant instant)
  9. plus(Instant instant, Duration add)