14 if (
index_ < 1)
return false;
62 output[
MONTH] = month - 1;
78 if (hour_offset_ !=
kNone) {
79 if (!IsHour12(
hour))
return false;
101 if (hour_ ==
kNone) hour_ = 0;
102 if (minute_ ==
kNone) minute_ = 0;
105 unsigned total_seconds_unsigned = hour_ * 3600U + minute_ * 60U;
107 int total_seconds =
static_cast<int>(total_seconds_unsigned);
109 total_seconds = -total_seconds;
114 output[
UTC_OFFSET] = std::numeric_limits<double>::quiet_NaN();
154 for (
i = 0; array[
i][kTypeOffset] !=
INVALID;
i++) {
156 while (j < kPrefixLength && pre[j] ==
static_cast<uint32_t
>(array[
i][j])) {
161 if (j == kPrefixLength &&
162 (len <= kPrefixLength || array[
i][kTypeOffset] ==
MONTH_NAME)) {
174 int number = token.
number();
175 int length = token.
length();
181 }
else if (length == 2) {
184 }
else if (length > 3) {
193 }
while (length > 3);
bool Write(double *output)
static bool IsMonth(int x)
static const int8_t array[][kEntrySize]
static int Lookup(const uint32_t *pre, int len)
static const int kEntrySize
bool Write(double *output)
bool Write(double *output)
static const int kMaxSignificantDigits
static bool Between(int x, int lo, int hi)
static int ReadMilliseconds(DateToken number)
static bool constexpr IsValid(T value)
static constexpr int kMaxValue
#define DCHECK_LE(v1, v2)
#define DCHECK(condition)