Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(532)

Side by Side Diff: runtime/lib/date_patch.dart

Issue 11770004: Rename Date to DateTime. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments and keep Backwards-compatibility class Date. Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/bin/secure_socket.cc ('k') | runtime/lib/math_patch.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // Dart core library. 4 // Dart core library.
5 5
6 // VM implementation of _DateImpl. 6 // VM implementation of DateTime.
7 patch class _DateImpl { 7 patch class DateTime {
8 /* patch */ _DateImpl(int year, 8 /* patch */ DateTime._internal(int year,
9 int month, 9 int month,
10 int day, 10 int day,
11 int hour, 11 int hour,
12 int minute, 12 int minute,
13 int second, 13 int second,
14 int millisecond, 14 int millisecond,
15 bool isUtc) 15 bool isUtc)
16 : this.isUtc = isUtc, 16 : this.isUtc = isUtc,
17 this.millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch( 17 this.millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(
18 year, month, day, hour, minute, second, millisecond, isUtc) { 18 year, month, day, hour, minute, second, millisecond, isUtc) {
19 if (millisecondsSinceEpoch == null) throw new ArgumentError(); 19 if (millisecondsSinceEpoch == null) throw new ArgumentError();
20 if (isUtc == null) throw new ArgumentError(); 20 if (isUtc == null) throw new ArgumentError();
21 } 21 }
22 22
23 /* patch */ _DateImpl.now() 23 /* patch */ DateTime._now()
24 : isUtc = false, 24 : isUtc = false,
25 millisecondsSinceEpoch = _getCurrentMs() { 25 millisecondsSinceEpoch = _getCurrentMs() {
26 } 26 }
27 27
28 /* patch */ String get timeZoneName { 28 /* patch */ String get timeZoneName {
29 if (isUtc) return "UTC"; 29 if (isUtc) return "UTC";
30 return _timeZoneName(millisecondsSinceEpoch); 30 return _timeZoneName(millisecondsSinceEpoch);
31 } 31 }
32 32
33 /* patch */ Duration get timeZoneOffset { 33 /* patch */ Duration get timeZoneOffset {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 // directly use the value and not the [_localDateInUtcValue]. 68 // directly use the value and not the [_localDateInUtcValue].
69 return millisecondsSinceEpoch % Duration.MILLISECONDS_PER_SECOND; 69 return millisecondsSinceEpoch % Duration.MILLISECONDS_PER_SECOND;
70 } 70 }
71 71
72 /** Returns the weekday of [this]. In accordance with ISO 8601 a week 72 /** Returns the weekday of [this]. In accordance with ISO 8601 a week
73 * starts with Monday. Monday has the value 1 up to Sunday with 7. */ 73 * starts with Monday. Monday has the value 1 up to Sunday with 7. */
74 /* patch */ int get weekday { 74 /* patch */ int get weekday {
75 int daysSince1970 = 75 int daysSince1970 =
76 _flooredDivision(_localDateInUtcMs, Duration.MILLISECONDS_PER_DAY); 76 _flooredDivision(_localDateInUtcMs, Duration.MILLISECONDS_PER_DAY);
77 // 1970-1-1 was a Thursday. 77 // 1970-1-1 was a Thursday.
78 return ((daysSince1970 + Date.THU - Date.MON) % Date.DAYS_IN_WEEK) + 78 return ((daysSince1970 + DateTime.THU - DateTime.MON) % DateTime.DAYS_IN_WEE K) +
79 Date.MON; 79 DateTime.MON;
80 } 80 }
81 81
82 82
83 /** The first list contains the days until each month in non-leap years. The 83 /** The first list contains the days until each month in non-leap years. The
84 * second list contains the days in leap years. */ 84 * second list contains the days in leap years. */
85 static const List<List<int>> _DAYS_UNTIL_MONTH = 85 static const List<List<int>> _DAYS_UNTIL_MONTH =
86 const [const [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], 86 const [const [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
87 const [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]]; 87 const [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]];
88 88
89 // Returns the UTC year, month and day for the corresponding 89 // Returns the UTC year, month and day for the corresponding
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 } 133 }
134 resultDay = days - daysUntilMonth[resultMonth - 1] + 1; 134 resultDay = days - daysUntilMonth[resultMonth - 1] + 1;
135 return <int>[resultYear, resultMonth, resultDay]; 135 return <int>[resultYear, resultMonth, resultDay];
136 } 136 }
137 137
138 /** 138 /**
139 * Returns the amount of milliseconds in UTC that represent the same values 139 * Returns the amount of milliseconds in UTC that represent the same values
140 * as [this]. 140 * as [this].
141 * 141 *
142 * Say [:t:] is the result of this function, then 142 * Say [:t:] is the result of this function, then
143 * * [:this.year == new Date.fromMillisecondsSinceEpoch(t, true).year:], 143 * * [:this.year == new DateTime.fromMillisecondsSinceEpoch(t, true).year:],
144 * * [:this.month == new Date.fromMillisecondsSinceEpoch(t, true).month:], 144 * * [:this.month == new DateTime.fromMillisecondsSinceEpoch(t, true).month:],
145 * * [:this.day == new Date.fromMillisecondsSinceEpoch(t, true).day:], 145 * * [:this.day == new DateTime.fromMillisecondsSinceEpoch(t, true).day:],
146 * * [:this.hour == new Date.fromMillisecondsSinceEpoch(t, true).hour:], 146 * * [:this.hour == new DateTime.fromMillisecondsSinceEpoch(t, true).hour:],
147 * * ... 147 * * ...
148 * 148 *
149 * Daylight savings is computed as if the date was computed in [1970..2037]. 149 * Daylight savings is computed as if the date was computed in [1970..2037].
150 * If [this] lies outside this range then it is a year with similar 150 * If [this] lies outside this range then it is a year with similar
151 * properties (leap year, weekdays) is used instead. 151 * properties (leap year, weekdays) is used instead.
152 */ 152 */
153 int get _localDateInUtcMs { 153 int get _localDateInUtcMs {
154 int ms = millisecondsSinceEpoch; 154 int ms = millisecondsSinceEpoch;
155 if (isUtc) return ms; 155 if (isUtc) return ms;
156 int offset = 156 int offset =
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 315
316 static String _timeZoneNameForClampedSeconds(int secondsSinceEpoch) 316 static String _timeZoneNameForClampedSeconds(int secondsSinceEpoch)
317 native "DateNatives_timeZoneName"; 317 native "DateNatives_timeZoneName";
318 318
319 static int _timeZoneOffsetInSecondsForClampedSeconds(int secondsSinceEpoch) 319 static int _timeZoneOffsetInSecondsForClampedSeconds(int secondsSinceEpoch)
320 native "DateNatives_timeZoneOffsetInSeconds"; 320 native "DateNatives_timeZoneOffsetInSeconds";
321 321
322 static int _localTimeZoneAdjustmentInSeconds() 322 static int _localTimeZoneAdjustmentInSeconds()
323 native "DateNatives_localTimeZoneAdjustmentInSeconds"; 323 native "DateNatives_localTimeZoneAdjustmentInSeconds";
324 } 324 }
OLDNEW
« no previous file with comments | « runtime/bin/secure_socket.cc ('k') | runtime/lib/math_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698