Package net.dv8tion.jda.api.utils
Enum TimeFormat
- java.lang.Object
-
- java.lang.Enum<TimeFormat>
-
- net.dv8tion.jda.api.utils.TimeFormat
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<TimeFormat>
public enum TimeFormat extends java.lang.Enum<TimeFormat>
Utility enum used to provide different markdown styles for timestamps.
These can be used to represent a unix epoch timestamp in different formats.These timestamps are rendered by the individual receiving discord client in a local timezone and language format. Each timestamp can be displayed with different
TimeFormats.Example
channel.sendMessage("Current Time: " + TimeFormat.RELATIVE.now()).queue(); channel.sendMessage("Uptime: " + TimeFormat.RELATIVE.format(getStartTime())).queue();
-
-
Enum Constant Summary
Enum Constants Enum Constant Description DATE_LONGFormats date as16 June 2021DATE_SHORTFormats date as16/06/2021or06/16/2021DATE_TIME_LONGFormats date and time asWednesday, 16 June 2021 18:49orWednesday, June 16, 2021 6:49 PMDATE_TIME_SHORTFormats date and time as16 June 2021 18:49orJune 16, 2021 6:49 PMRELATIVEFormats date and time as relative18 minutes agoor2 days agoTIME_LONGFormats time as18:49:26or6:49:26 PMTIME_SHORTFormats time as18:49or6:49 PM
-
Field Summary
Fields Modifier and Type Field Description static TimeFormatDEFAULTThe default time format used when no style is provided.static java.util.regex.PatternMARKDOWNPatternused forparse(String).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Timestampafter(long millis)Shortcut forstyle.now().plus(millis).Timestampafter(java.time.Duration duration)Shortcut forstyle.now().plus(duration).TimestampatInstant(java.time.Instant instant)Converts the providedInstantinto aTimestampwith this style.TimestampatTimestamp(long timestamp)Converts the provided unix epoch timestamp into aTimestampwith this style.Timestampbefore(long millis)Shortcut forstyle.now().minus(millis).Timestampbefore(java.time.Duration duration)Shortcut forstyle.now().minus(duration).java.lang.Stringformat(long timestamp)Formats the provided unix epoch timestamp into a timestamp markdown.java.lang.Stringformat(java.time.temporal.TemporalAccessor temporal)Formats the providedTemporalAccessorinstance into a timestamp markdown.static TimeFormatfromStyle(java.lang.String style)Returns the time format for the provided style flag.java.lang.StringgetStyle()The display style flag used for the markdown representation.Timestampnow()Shortcut forstyle.atTimestamp(System.currentTimeMillis()).static Timestampparse(java.lang.String markdown)Parses the provided markdown into aTimestampinstance.static TimeFormatvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static TimeFormat[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
TIME_SHORT
public static final TimeFormat TIME_SHORT
Formats time as18:49or6:49 PM
-
TIME_LONG
public static final TimeFormat TIME_LONG
Formats time as18:49:26or6:49:26 PM
-
DATE_SHORT
public static final TimeFormat DATE_SHORT
Formats date as16/06/2021or06/16/2021
-
DATE_LONG
public static final TimeFormat DATE_LONG
Formats date as16 June 2021
-
DATE_TIME_SHORT
public static final TimeFormat DATE_TIME_SHORT
Formats date and time as16 June 2021 18:49orJune 16, 2021 6:49 PM
-
DATE_TIME_LONG
public static final TimeFormat DATE_TIME_LONG
Formats date and time asWednesday, 16 June 2021 18:49orWednesday, June 16, 2021 6:49 PM
-
RELATIVE
public static final TimeFormat RELATIVE
Formats date and time as relative18 minutes agoor2 days ago
-
-
Field Detail
-
DEFAULT
public static final TimeFormat DEFAULT
The default time format used when no style is provided.
-
MARKDOWN
public static final java.util.regex.Pattern MARKDOWN
Patternused forparse(String).Groups
Index Name Description 0 N/A The entire timestamp markdown 1 time The timestamp value as a unix epoch in second precision 2 style The style used for displaying the timestamp (single letter flag) - See Also:
parse(String)
-
-
Method Detail
-
values
public static TimeFormat[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (TimeFormat c : TimeFormat.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static TimeFormat valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
getStyle
@Nonnull public java.lang.String getStyle()
The display style flag used for the markdown representation.
This is encoded into the markdown to provide the client with rendering context.- Returns:
- The style flag
-
fromStyle
@Nonnull public static TimeFormat fromStyle(@Nonnull java.lang.String style)
Returns the time format for the provided style flag.- Parameters:
style- The style flag- Returns:
- The representative TimeFormat or
DEFAULTif none could be identified - Throws:
java.lang.IllegalArgumentException- If the provided style string is not exactly one character long
-
parse
@Nonnull public static Timestamp parse(@Nonnull java.lang.String markdown)
Parses the provided markdown into aTimestampinstance.
This is the reverse operation for theTimestamp.toString()representation.
-
format
@Nonnull public java.lang.String format(@Nonnull java.time.temporal.TemporalAccessor temporal)Formats the providedTemporalAccessorinstance into a timestamp markdown.- Parameters:
temporal- TheTemporalAccessor- Returns:
- The markdown string with this encoded style
- Throws:
java.lang.IllegalArgumentException- If the provided temporal instance is nulljava.time.DateTimeException- If the temporal accessor cannot be converted to an instant- See Also:
Instant.from(TemporalAccessor)
-
format
@Nonnull public java.lang.String format(long timestamp)
Formats the provided unix epoch timestamp into a timestamp markdown.
Compatible with millisecond precision timestamps such as the ones provided bySystem.currentTimeMillis().- Parameters:
timestamp- The millisecond epoch- Returns:
- The markdown string with this encoded style
-
atInstant
@Nonnull public Timestamp atInstant(@Nonnull java.time.Instant instant)
Converts the providedInstantinto aTimestampwith this style.- Parameters:
instant- TheInstantfor the timestamp- Returns:
- The
Timestampinstance - Throws:
java.lang.IllegalArgumentException- If null is provided- See Also:
now(),atTimestamp(long),Instant.from(TemporalAccessor),Instant.toEpochMilli()
-
atTimestamp
@Nonnull public Timestamp atTimestamp(long timestamp)
Converts the provided unix epoch timestamp into aTimestampwith this style.
Compatible with millisecond precision timestamps such as the ones provided bySystem.currentTimeMillis().
-
now
@Nonnull public Timestamp now()
Shortcut forstyle.atTimestamp(System.currentTimeMillis()).- Returns:
Timestampinstance for the current time- See Also:
Timestamp.plus(long),Timestamp.minus(long)
-
after
@Nonnull public Timestamp after(@Nonnull java.time.Duration duration)
Shortcut forstyle.now().plus(duration).- Parameters:
duration- TheDurationoffset into the future- Returns:
Timestampinstance for the offset relative to the current time- Throws:
java.lang.IllegalArgumentException- If null is provided- See Also:
now(),Timestamp.plus(Duration)
-
after
@Nonnull public Timestamp after(long millis)
Shortcut forstyle.now().plus(millis).- Parameters:
millis- The millisecond offset into the future- Returns:
Timestampinstance for the offset relative to the current time- See Also:
now(),Timestamp.plus(long)
-
before
@Nonnull public Timestamp before(@Nonnull java.time.Duration duration)
Shortcut forstyle.now().minus(duration).- Parameters:
duration- TheDurationoffset into the past- Returns:
Timestampinstance for the offset relative to the current time- Throws:
java.lang.IllegalArgumentException- If null is provided- See Also:
now(),Timestamp.minus(Duration)
-
before
@Nonnull public Timestamp before(long millis)
Shortcut forstyle.now().minus(millis).- Parameters:
millis- The millisecond offset into the past- Returns:
Timestampinstance for the offset relative to the current time- See Also:
now(),Timestamp.minus(long)
-
-