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

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: 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
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 _DateImpl.
7 patch class _DateImpl { 7 patch class _DateImpl {
8 /* patch */ _DateImpl(int year, 8 /* patch */ _DateImpl(int year,
9 int month, 9 int month,
10 int day, 10 int day,
(...skipping 57 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

Powered by Google App Engine
This is Rietveld 408576698