Exemplo n.º 1
0
  /**
   * Returns a decoded time object for <code>date</code> interpreted in <code>timezone</code> <code>
   * timezone</code> is the number of hours added to UTC to get local time. It is in the range -12.0
   * to +14.0 where UTC is zone 0.0
   *
   * @param timezone
   * @return DecodedDateTime
   */
  public DecodedDateTime decodeCalendarDate(double timezone) {
    {
      CalendarDate date = this;

      {
        int hour = Stella.NULL_INTEGER;
        int min = Stella.NULL_INTEGER;
        int sec = Stella.NULL_INTEGER;
        int millis = Stella.NULL_INTEGER;

        {
          Object[] caller_MV_returnarray = new Object[3];

          hour = date.getTime(timezone, caller_MV_returnarray);
          min = ((int) (((IntegerWrapper) (caller_MV_returnarray[0])).wrapperValue));
          sec = ((int) (((IntegerWrapper) (caller_MV_returnarray[1])).wrapperValue));
          millis = ((int) (((IntegerWrapper) (caller_MV_returnarray[2])).wrapperValue));
        }
        {
          int year = Stella.NULL_INTEGER;
          int month = Stella.NULL_INTEGER;
          int day = Stella.NULL_INTEGER;
          Keyword dow = null;

          {
            Object[] caller_MV_returnarray = new Object[3];

            year = date.getCalendarDate(timezone, caller_MV_returnarray);
            month = ((int) (((IntegerWrapper) (caller_MV_returnarray[0])).wrapperValue));
            day = ((int) (((IntegerWrapper) (caller_MV_returnarray[1])).wrapperValue));
            dow = ((Keyword) (caller_MV_returnarray[2]));
          }
          {
            DecodedDateTime self000 = DecodedDateTime.newDecodedDateTime();

            self000.dateTimeMillis = ((double) (millis));
            self000.dateTimeSecond = sec;
            self000.dateTimeMinute = min;
            self000.dateTimeHour = hour;
            self000.dateTimeDay = day;
            self000.dateTimeMonth = month;
            self000.dateTimeYear = year;
            self000.dateTimeZone = timezone;
            self000.dateTimeDow = dow;
            {
              DecodedDateTime value000 = self000;

              return (value000);
            }
          }
        }
      }
    }
  }
Exemplo n.º 2
0
  /**
   * Returns the time part of the string representation of <code>date</code> adjusted for <code>
   * timezone</code>. The timezone is included in the string if <code>includeTimezoneP</code> is
   * <code>true</code>. The value <code>true</code> is recommended. Milliseconds will be included if
   * <code>includeMillisP</code> is <code>true</code>. Hours will be zero-padded to length 2 if
   * <code>padHoursP</code> is <code>true</code>.
   *
   * @param timezone
   * @param includeTimezoneP
   * @param includeMillisP
   * @param padHoursP
   * @return String
   */
  public String calendarDateToTimeString(
      double timezone, boolean includeTimezoneP, boolean includeMillisP, boolean padHoursP) {
    {
      CalendarDate date = this;

      {
        int hours = Stella.NULL_INTEGER;
        int minutes = Stella.NULL_INTEGER;
        int seconds = Stella.NULL_INTEGER;
        int milli = Stella.NULL_INTEGER;

        {
          Object[] caller_MV_returnarray = new Object[3];

          hours = date.getTime(timezone, caller_MV_returnarray);
          minutes = ((int) (((IntegerWrapper) (caller_MV_returnarray[0])).wrapperValue));
          seconds = ((int) (((IntegerWrapper) (caller_MV_returnarray[1])).wrapperValue));
          milli = ((int) (((IntegerWrapper) (caller_MV_returnarray[2])).wrapperValue));
        }
        {
          String timezoneString =
              (includeTimezoneP
                  ? (((timezone == 0.0) ? " UTC" : (" " + Native.floatToString(timezone))))
                  : "");
          String milliString =
              (includeMillisP
                  ? ("."
                      + Stella.formatWithPadding(
                          Native.integerToString(milli), 3, '0', Stella.KWD_RIGHT, false))
                  : "");

          return (((padHoursP
                  ? Stella.formatWithPadding(
                      Native.integerToString(hours), 2, '0', Stella.KWD_RIGHT, false)
                  : Native.integerToString(hours)))
              + ":"
              + Stella.formatWithPadding(
                  Native.integerToString(minutes), 2, '0', Stella.KWD_RIGHT, false)
              + ":"
              + Stella.formatWithPadding(
                  Native.integerToString(seconds), 2, '0', Stella.KWD_RIGHT, false)
              + milliString
              + timezoneString);
        }
      }
    }
  }