OLD | NEW |
---|---|
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/dateparser.h" | 7 #include "src/dateparser.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
73 int& second = comp_[2]; | 73 int& second = comp_[2]; |
74 int& millisecond = comp_[3]; | 74 int& millisecond = comp_[3]; |
75 | 75 |
76 if (hour_offset_ != kNone) { | 76 if (hour_offset_ != kNone) { |
77 if (!IsHour12(hour)) return false; | 77 if (!IsHour12(hour)) return false; |
78 hour %= 12; | 78 hour %= 12; |
79 hour += hour_offset_; | 79 hour += hour_offset_; |
80 } | 80 } |
81 | 81 |
82 if (!IsHour(hour) || !IsMinute(minute) || | 82 if (!IsHour(hour) || !IsMinute(minute) || |
83 !IsSecond(second) || !IsMillisecond(millisecond)) return false; | 83 !IsSecond(second) || !IsMillisecond(millisecond)) { |
84 if (hour == 24 && minute == 0 && second == 0 && millisecond == 0) { | |
rossberg
2015/07/22 09:48:57
Invert to (hour != 24 || minute != 0 || second !=
hichris123
2015/07/22 22:44:17
Done.
| |
85 // A 24th hour is allowed if minutes, seconds, and milliseconds are 0 | |
86 } else { | |
87 return false; | |
88 } | |
89 } | |
84 | 90 |
85 output->set(HOUR, Smi::FromInt(hour)); | 91 output->set(HOUR, Smi::FromInt(hour)); |
86 output->set(MINUTE, Smi::FromInt(minute)); | 92 output->set(MINUTE, Smi::FromInt(minute)); |
87 output->set(SECOND, Smi::FromInt(second)); | 93 output->set(SECOND, Smi::FromInt(second)); |
88 output->set(MILLISECOND, Smi::FromInt(millisecond)); | 94 output->set(MILLISECOND, Smi::FromInt(millisecond)); |
89 return true; | 95 return true; |
90 } | 96 } |
91 | 97 |
92 | 98 |
93 bool DateParser::TimeZoneComposer::Write(FixedArray* output) { | 99 bool DateParser::TimeZoneComposer::Write(FixedArray* output) { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
182 length--; | 188 length--; |
183 } while (length > 3); | 189 } while (length > 3); |
184 number /= factor; | 190 number /= factor; |
185 } | 191 } |
186 return number; | 192 return number; |
187 } | 193 } |
188 | 194 |
189 | 195 |
190 } // namespace internal | 196 } // namespace internal |
191 } // namespace v8 | 197 } // namespace v8 |
OLD | NEW |