Lines Matching defs:date
38 void DateUtils::TransferTimeToDate(int64_t timeMs, std::array<int64_t, DATE_LENGTH> *date)
40 (*date)[HOUR] = Mod(timeMs, MS_PER_DAY); // ms from hour, minutes, second, ms
41 (*date)[DAYS] = (timeMs - (*date)[HOUR]) / MS_PER_DAY; // days from year, month, day
42 (*date)[MS] = (*date)[HOUR] % MS_PER_SECOND; // ms
43 (*date)[HOUR] = ((*date)[HOUR] - (*date)[MS]) / MS_PER_SECOND; // s from hour, minutes, second
44 (*date)[SEC] = (*date)[HOUR] % SEC_PER_MINUTE; // second
45 (*date)[HOUR] = ((*date)[HOUR] - (*date)[SEC]) / SEC_PER_MINUTE; // min from hour, minutes
46 (*date)[MIN] = (*date)[HOUR] % SEC_PER_MINUTE; // min
47 (*date)[HOUR] = ((*date)[HOUR] - (*date)[MIN]) / SEC_PER_MINUTE; // hour
48 (*date)[WEEKDAY] = Mod(((*date)[DAYS] + LEAP_NUMBER[0]), DAY_PER_WEEK); // weekday
49 GetYearFromDays(date);
83 void DateUtils::GetYearFromDays(std::array<int64_t, DATE_LENGTH> *date)
85 if (date == nullptr) {
89 int64_t t = (*date)[DAYS];
94 (*date)[DAYS] = newDays;
95 (*date)[MONTH] = preMonth_;
96 (*date)[YEAR] = preYear_;
101 int64_t d = (*date)[DAYS];
118 (*date)[YEAR] = year;
119 (*date)[MONTH] = month;
120 (*date)[DAYS] = realDay;
152 double JSDate::MakeDay(double year, double month, double date)
154 if (std::isfinite(year) && std::isfinite(month) && std::isfinite(date)) {
167 return static_cast<double>(days - 1) + NumberHelper::TruncateDouble(date);
265 int date = 1;
289 GetNumFromString(str, len, &index, &date);
312 double day = MakeDay(year, month, date);
331 int date = 1;
345 GetNumFromString(str, len, &index, &date);
376 double day = MakeDay(year, month, date);
395 int date = 1;
421 GetNumFromString(str, len, &index, &date);
442 GetNumFromString(str, len, &index, &date);
461 double day = MakeDay(year, month - 1, date);
533 double date = 1.0;
567 date = res.GetNumber();
597 double day = MakeDay(year, month, date);
655 bool JSDate::GetThisDateValues(std::array<int64_t, DATE_LENGTH> *date, bool isLocal) const
661 GetDateValues(timeMs, date, isLocal);
863 void JSDate::GetDateValues(double timeMs, std::array<int64_t, DATE_LENGTH> *date, bool isLocal)
872 DateUtils::TransferTimeToDate(timeMsInt, date);
873 (*date)[TIMEZONE] = -tz;
881 std::array<int64_t, DATE_LENGTH> date = {0};
882 GetDateValues(timeMs, &date, isLocal);
883 return static_cast<double>(date[code]);
888 // get date values.
889 std::array<int64_t, DATE_LENGTH> date = {0};
907 GetDateValues(timeMs, &date, false);
909 GetDateValues(timeMs, &date, isLocal);
921 date[firstValue + i] = NumberHelper::TruncateDouble(temp);
923 // set date values.
924 return JSTaggedValue(SetDateValues(&date, isLocal));
928 double JSDate::SetDateValues(const std::array<int64_t, DATE_LENGTH> *date, bool isLocal)
930 int64_t month = DateUtils::Mod((*date)[MONTH], MONTH_PER_YEAR);
931 int64_t year = (*date)[YEAR] + ((*date)[MONTH] - month) / MONTH_PER_YEAR;
936 days += (*date)[DAYS] - 1;
938 (((*date)[HOUR] * MIN_PER_HOUR + (*date)[MIN]) * SEC_PER_MINUTE + (*date)[SEC]) * MS_PER_SECOND + (*date)[MS];