Class JSDate

All Implemented Interfaces:
JSConstructorFactory, JSConstructorFactory.WithFunctions, PrototypeSupplier

public final class JSDate extends JSNonProxy implements JSConstructorFactory.WithFunctions, PrototypeSupplier
  • Field Details

    • CLASS_NAME

      public static final com.oracle.truffle.api.strings.TruffleString CLASS_NAME
    • PROTOTYPE_NAME

      public static final com.oracle.truffle.api.strings.TruffleString PROTOTYPE_NAME
    • INSTANCE

      public static final JSDate INSTANCE
    • MS_PER_SECOND

      public static final int MS_PER_SECOND
      See Also:
    • MS_PER_MINUTE

      public static final int MS_PER_MINUTE
      See Also:
    • MS_PER_HOUR

      public static final int MS_PER_HOUR
      See Also:
    • MS_PER_DAY

      public static final int MS_PER_DAY
      See Also:
    • MAX_DATE

      public static final double MAX_DATE
      See Also:
    • MAX_YEAR_VALUE

      public static final double MAX_YEAR_VALUE
      See Also:
    • MIN_YEAR_VALUE

      public static final double MIN_YEAR_VALUE
      See Also:
    • INVALID_DATE_STRING

      public static final com.oracle.truffle.api.strings.TruffleString INVALID_DATE_STRING
  • Method Details

    • isJSDate

      public static boolean isJSDate(Object obj)
    • getClassName

      public com.oracle.truffle.api.strings.TruffleString getClassName()
      Specified by:
      getClassName in interface JSConstructorFactory
    • createPrototype

      public JSDynamicObject createPrototype(JSRealm realm, JSFunctionObject ctor)
      Specified by:
      createPrototype in interface JSConstructorFactory
    • makeInitialShape

      public com.oracle.truffle.api.object.Shape makeInitialShape(JSContext ctx, JSDynamicObject prototype)
      Overrides:
      makeInitialShape in class JSClass
    • createConstructor

      public static JSConstructor createConstructor(JSRealm realm)
    • executeConstructor

      public static double executeConstructor(double[] argsEvaluated, boolean inputIsUTC)
    • day

      public static double day(double t)
    • dayFromYear

      public static int dayFromYear(int y)
    • yearFromTime

      public static int yearFromTime(long t)
    • yearFromDays

      public static int yearFromDays(int daysAfter1970)
    • isLeapYear

      public static boolean isLeapYear(int year)
    • monthFromTime

      public static int monthFromTime(double dt)
    • dateFromTime

      public static int dateFromTime(double dt)
    • dateFromDayInYear

      public static int dateFromDayInYear(int year, int day)
    • weekDay

      public static double weekDay(double t)
    • localTime

      public static double localTime(double t, com.oracle.truffle.api.nodes.Node node)
    • localTZA

      public static long localTZA(double t, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • localTZA

      public static int localTZA(double t, boolean isUTC, org.graalvm.shadowed.com.ibm.icu.util.TimeZone timeZone)
    • hourFromTime

      public static int hourFromTime(double t)
    • minFromTime

      public static int minFromTime(double t)
    • secFromTime

      public static int secFromTime(double t)
    • msFromTime

      public static int msFromTime(double t)
    • makeTime

      public static double makeTime(double hour, double min, double sec, double ms)
    • makeDay

      public static double makeDay(double year, double month, double date)
    • isoDateToEpochDays

      public static long isoDateToEpochDays(int year, int month, int date)
    • makeDate

      public static double makeDate(double day, double time)
    • makeDate

      public static double makeDate(double y, double m, double d, double h, double min, double sec, double ms, Integer timezone)
    • timeClip

      public static double timeClip(double time)
      Implementation of ECMAScript 5.1 15.9.1.14 TimeClip.
    • create

      public static JSDateObject create(JSContext context, JSRealm realm, double timeMillis)
    • create

      public static JSDateObject create(JSContext context, JSRealm realm, JSDynamicObject proto, double timeMillis)
    • setTime

      public static double setTime(JSDateObject thisDate, double time)
    • setMilliseconds

      public static double setMilliseconds(double tParam, double ms, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setSeconds

      public static double setSeconds(double tParam, double s, double ms, boolean msSpecified, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setMinutes

      public static double setMinutes(double tParam, double m, double s, boolean sSpecified, double ms, boolean msSpecified, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setHours

      public static double setHours(double tParam, double h, double m, boolean mSpecified, double s, boolean sSpecified, double ms, boolean msSpecified, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setDate

      public static double setDate(double tParam, double date, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setMonth

      public static double setMonth(double tParam, double month, double date, boolean dateSpecified, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setFullYear

      public static double setFullYear(double tParam, double year, double month, boolean monthSpecified, double date, boolean dateSpecified, boolean isUTC, com.oracle.truffle.api.nodes.Node node)
    • setYear

      public static double setYear(double tParam, double year, com.oracle.truffle.api.nodes.Node node)
    • format

      public static com.oracle.truffle.api.strings.TruffleString format(org.graalvm.shadowed.com.ibm.icu.text.DateFormat format, double time)
    • toString

      public static com.oracle.truffle.api.strings.TruffleString toString(double time, JSRealm realm)
    • toISOStringIntl

      public static com.oracle.truffle.api.strings.TruffleString toISOStringIntl(double time, JSRealm realm)
    • isTimeValid

      public static boolean isTimeValid(double time)
    • isValidDate

      public static boolean isValidDate(JSDateObject date)
    • asInstant

      public static Instant asInstant(JSDateObject date)
    • asLocalDate

      public static LocalDate asLocalDate(JSDateObject date, JSRealm realm)
    • asLocalTime

      public static LocalTime asLocalTime(JSDateObject date, JSRealm realm)
    • getDateValueFromInstant

      public static double getDateValueFromInstant(Object receiver, com.oracle.truffle.api.interop.InteropLibrary interop)
    • getIntrinsicDefaultProto

      public JSDynamicObject getIntrinsicDefaultProto(JSRealm realm)
      Description copied from class: JSClass
      Allows invokevirtual of this method instead of invokeinterface. Classes overriding this method should implement PrototypeSupplier.
      Specified by:
      getIntrinsicDefaultProto in interface PrototypeSupplier
      Overrides:
      getIntrinsicDefaultProto in class JSClass
      See Also: