japaneseCalendar.js 1.0 KB

1234567891011121314151617181920212223242526
  1. define(
  2. [ "../impl/Record", "../impl/calendarFunctions" ],
  3. function (Record, calendarFunctions) {
  4. var japaneseCalendar = {
  5. toLocalTime : function (date, timeZone) {
  6. var result = new Record();
  7. var dt = new Date(date);
  8. result.set("weekday", timeZone === "UTC" ? dt.getUTCDay() : dt.getDay());
  9. /*
  10. * Current highest era number in Japanese calendar is 235 - Will need to bump this up if Japan gets a new
  11. * emperor!!!
  12. */
  13. var maxJapaneseEra = 235;
  14. var era = calendarFunctions.findEra("japanese", dt, maxJapaneseEra);
  15. var year = timeZone === "UTC" ? dt.getUTCFullYear() : dt.getFullYear();
  16. var offset = calendarFunctions.eraOffset("japanese", era >= 0 ? era : 0);
  17. result.set("era", era >= 0 ? era : 0);
  18. result.set("year", year - offset + 1);
  19. result.set("month", timeZone === "UTC" ? dt.getUTCMonth() : dt.getMonth());
  20. result.set("day", timeZone === "UTC" ? dt.getUTCDate() : dt.getDate());
  21. calendarFunctions.setTimeFields(dt, timeZone, result);
  22. return result;
  23. }
  24. };
  25. return japaneseCalendar;
  26. });