⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datemodule.java

📁 RESIN 3.2 最新源码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            break;          }                    case 'o':          {            int year = calendar.getYear();                        int week = calendar.getWeek();            int month = calendar.getMonth();                        if (month > week)              year++;            else if (week == 53)              year--;                        sb.append((year / 1000) % 10);            sb.append((year / 100) % 10);            sb.append((year / 10) % 10);            sb.append((year) % 10);            break;          }                    case 'Y':          {            int year = calendar.getYear();                        sb.append((year / 1000) % 10);            sb.append((year / 100) % 10);            sb.append((year / 10) % 10);            sb.append((year) % 10);            break;          }          case 'y':          {            int year = calendar.getYear();            sb.append((year / 10) % 10);            sb.append((year) % 10);            break;          }          //          // time          //                    case 'a':          {            int hour = calendar.getHour();            if (hour < 12)              sb.append("am");            else              sb.append("pm");            break;          }          case 'A':          {            int hour = calendar.getHour();            if (hour < 12)              sb.append("AM");            else              sb.append("PM");            break;          }          case 'g':          {            int hour = calendar.getHour() % 12;            if (hour == 0)              hour = 12;            sb.append(hour);            break;          }          case 'G':          {            int hour = calendar.getHour();            sb.append(hour);            break;          }          case 'h':          {            int hour = calendar.getHour() % 12;            if (hour == 0)              hour = 12;            sb.append(hour / 10);            sb.append(hour % 10);            break;          }          case 'H':          {            int hour = calendar.getHour();            sb.append(hour / 10);            sb.append(hour % 10);            break;          }          case 'i':          {            int minutes = calendar.getMinute();            sb.append(minutes / 10);            sb.append(minutes % 10);            break;          }          case 's':          {            int seconds = calendar.getSecond();            sb.append(seconds / 10);            sb.append(seconds % 10);            break;          }          //          // timezone          //                    case 'e':          {            TimeZone zone = calendar.getLocalTimeZone();            sb.append(zone.getID());            break;          }                    case 'I':          {            if (calendar.isDST())              sb.append('1');            else              sb.append('0');            break;          }                    case 'O':          {            long offset = calendar.getZoneOffset();            int minute = (int) (offset / (60 * 1000));            if (minute < 0) {              sb.append('-');              minute = -1 * minute;            }            else              sb.append('+');            sb.append((minute / 60) / 10);            sb.append((minute / 60) % 10);            sb.append((minute % 60) % 10);            sb.append(minute % 10);            break;          }                    case 'P':          {            long offset = calendar.getZoneOffset();            int minute = (int) (offset / (60 * 1000));            if (minute < 0) {              sb.append('-');              minute = -1 * minute;            }            else              sb.append('+');            sb.append((minute / 60) / 10);            sb.append((minute / 60) % 10);            sb.append(':');            sb.append((minute % 60) % 10);            sb.append(minute % 10);            break;          }          case 'T':          {            TimeZone zone = calendar.getLocalTimeZone();            sb.append(zone.getDisplayName(calendar.isDST(), TimeZone.SHORT));            break;          }          case 'Z':          {            long offset = calendar.getZoneOffset();            sb.append(offset / (1000));            break;          }          case 'c':          {            sb.append(calendar.printISO8601());            break;          }          case 'r':          {            sb.append(calendar.printDate());            break;          }          case 'U':          {            sb.append(now / 1000);            break;          }          case '\\':            sb.append(format.charAt(++i));            break;          default:            sb.append(ch);          break;        }      }      return sb.toString();    }  }  /**   * Returns the time as an indexed or associative array   */  public ArrayValue localtime(@NotNull @Optional("-1") long time,                              @Optional("false") boolean isAssociative)  {    if (time < 0)      time  = Alarm.getCurrentTime();    else      time = time * 1000;    long sec;    long min;    long hour;    long mday;    long mon;    long year;    long wday;    long yday;    long isdst;    synchronized (_localCalendar) {      _localCalendar.setGMTTime(time);      sec = _localCalendar.getSecond();      min = _localCalendar.getMinute();      hour = _localCalendar.getHour();      mday = _localCalendar.getDayOfMonth();      mon = _localCalendar.getMonth();      year = _localCalendar.getYear();      wday = _localCalendar.getDayOfWeek();      yday = _localCalendar.getDayOfYear();      isdst = _localCalendar.isDST() ? 1 : 0;    }    year = year - 1900;    wday = wday - 1;        ArrayValue value = new ArrayValueImpl();    if (isAssociative) {      value.put("tm_sec", sec);      value.put("tm_min", min);      value.put("tm_hour", hour);      value.put("tm_mday", mday);      value.put("tm_mon", mon);      value.put("tm_year", year);      value.put("tm_wday", wday);      value.put("tm_yday", yday);      value.put("tm_isdst", isdst);    }    else {      value.put(sec);      value.put(min);      value.put(hour);      value.put(mday);      value.put(mon);      value.put(year);      value.put(wday);      value.put(yday);      value.put(isdst);    }    return value;  }  /**   * Returns the time including microseconds   */  public static Value microtime(Env env, @Optional boolean getAsFloat)  {    long now;    // windows System.nanoTime() does not return the system time,    // so just return milliseconds multiplied by 1000    if (Path.isWindows()) {      now = System.currentTimeMillis() * 1000L;    }    else {      now = System.nanoTime() / 1000L;    }    if (getAsFloat) {      return new DoubleValue(((double) now) / 1e6);    }    else {      return (env.createUnicodeBuilder()	      .append(now % 1000000L / 1e6)	      .append(' ')	      .append(now / 1000000L));    }  }  /**   * Returns the formatted date.   */  public long mktime(Env env,                     @Optional() Value hourV,                     @Optional() Value minuteV,                     @Optional() Value secondV,                     @Optional() Value monthV,                     @Optional() Value dayV,                     @Optional() Value yearV,                     @Optional("-1") int isDST)  {    if (isDST != -1)      env.deprecatedArgument("isDST");    QDate date = new QDate(true);    long now = Alarm.getCurrentTime();    date.setLocalTime(now);        setMktime(date, hourV, minuteV, secondV, monthV, dayV, yearV);    return date.getGMTTime() / 1000L;  }    private static void setMktime(QDate date,                                Value hourV,                                Value minuteV,                                Value secondV,                                Value monthV,                                Value dayV,                                Value yearV)  {    if (! hourV.isDefault()) {      int hour = hourV.toInt();            date.setHour(hour);    }    if (! minuteV.isDefault()) {      int minute = minuteV.toInt();            date.setMinute(minute);    }        if (! secondV.isDefault()) {      int second = secondV.toInt();            date.setSecond(second);    }    if (! monthV.isDefault()) {      int month = monthV.toInt();            date.setMonth(month - 1);    }    if (! dayV.isDefault()) {      int day = dayV.toInt();            date.setDayOfMonth(day);    }        if (! yearV.isDefault()) {      int year = yearV.toInt();            if (year >= 1000) {        date.setYear(year);      }      else if (year >= 70) {        date.setYear(year + 1900);      }      else if (year >= 0) {        date.setYear(year + 2000);      }      else if (year < 0) {        date.setYear(1969);      }    }  }  /**   * Returns the formatted date.   */  public String strftime(String format,			 @Optional("-1") long phpTime)  {    long time;    if (phpTime == -1)      time = Alarm.getCurrentTime();    else      time = 1000 * phpTime;    return QDate.formatLocal(time, format);  }  /**   * Parses the time   */  public Value strtotime(String timeString,                         @Optional("-1") long now)  {    try {      if (now >= 0)        now = 1000L * now;      else        now = Alarm.getCurrentTime();      QDate date = new QDate(true);      date.setGMTTime(now);      if (timeString.equals("")) {        date.setHour(0);        date.setMinute(0);        date.setSecond(0);        return new LongValue(date.getGMTTime() / 1000L);      }      DateParser parser = new DateParser(timeString, date);      return new LongValue(parser.parse() / 1000L);    } catch (Exception e) {      log.log(Level.FINE, e.toString(), e);      return BooleanValue.FALSE;    }  }  /**   * Returns the current time in seconds.   */  public static long time()  {    return Alarm.getCurrentTime() / 1000L;  }  /**   * Convert from a julian day to unix   */  public long jdtounix(double jd)  {    long z = (long) (jd + 0.5);    long w = (long) ((z - 1867216.25) / 36524.25);    long x = (long) (w / 4);    long a = (long) (z + 1 + w - x);    long b = (long) (a + 1524);    long c = (long) ((b - 122.1) / 365.25);    long d = (long) (365.25 * c);    long e = (long) ((b - d) / 30.6001);    long f = (long) (30.6001 * e);    long day = b - d - f;    long month = e - 1;    long year = c - 4716;    if (month > 12) {      month -= 12;      year += 1;    }        synchronized (_localCalendar) {      _localCalendar.setHour(0);      _localCalendar.setMinute(0);      _localCalendar.setSecond(0);      _localCalendar.setDayOfMonth((int) day);      _localCalendar.setMonth((int) (month - 1));      _localCalendar.setYear((int) year);      return _localCalendar.getLocalTime() / 1000L;    }  }  public static DateTime date_create(@Optional("now") String time,                                     @Optional DateTimeZone dateTimeZone)  {    return DateTime.__construct(time, dateTimeZone);  }    public static void date_date_set(DateTime dateTime,                                   int year,                                   int month,                                   int day)  {    dateTime.setDate(year, month, day);  }    public static String date_default_timezone_get(Env env)  {    TimeZone timeZone = env.getDefaultTimeZone();    String id;      if (timeZone != null)      return timeZone.getID();        id = env.getIniString("date.timezone");        if (id != null)      return id;        return TimeZone.getDefault().getID();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -