OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 | 4 |
5 // Dart core library. | 5 // Dart core library. |
6 | 6 |
7 class DurationImplementation implements Duration { | 7 class DurationImplementation implements Duration { |
8 final int inMilliseconds; | 8 final int inMilliseconds; |
9 | 9 |
10 const DurationImplementation([int days = 0, | 10 const DurationImplementation([int days = 0, |
11 int hours = 0, | 11 int hours = 0, |
12 int minutes = 0, | 12 int minutes = 0, |
13 int seconds = 0, | 13 int seconds = 0, |
14 int milliseconds = 0]) | 14 int milliseconds = 0]) |
15 : inMilliseconds = days * Duration.MILLISECONDS_PER_DAY + | 15 : inMilliseconds = days * Duration.MILLISECONDS_PER_DAY + |
16 hours * Duration.MILLISECONDS_PER_HOUR + | 16 hours * Duration.MILLISECONDS_PER_HOUR + |
17 minutes * Duration.MILLISECONDS_PER_MINUTE + | 17 minutes * Duration.MILLISECONDS_PER_MINUTE + |
18 seconds * Duration.MILLISECONDS_PER_SECOND + | 18 seconds * Duration.MILLISECONDS_PER_SECOND + |
19 milliseconds; | 19 milliseconds; |
20 | 20 |
21 int get inDays() { | 21 int get inDays { |
22 return inMilliseconds ~/ Duration.MILLISECONDS_PER_DAY; | 22 return inMilliseconds ~/ Duration.MILLISECONDS_PER_DAY; |
23 } | 23 } |
24 | 24 |
25 int get inHours() { | 25 int get inHours { |
26 return inMilliseconds ~/ Duration.MILLISECONDS_PER_HOUR; | 26 return inMilliseconds ~/ Duration.MILLISECONDS_PER_HOUR; |
27 } | 27 } |
28 | 28 |
29 int get inMinutes() { | 29 int get inMinutes { |
30 return inMilliseconds ~/ Duration.MILLISECONDS_PER_MINUTE; | 30 return inMilliseconds ~/ Duration.MILLISECONDS_PER_MINUTE; |
31 } | 31 } |
32 | 32 |
33 int get inSeconds() { | 33 int get inSeconds { |
34 return inMilliseconds ~/ Duration.MILLISECONDS_PER_SECOND; | 34 return inMilliseconds ~/ Duration.MILLISECONDS_PER_SECOND; |
35 } | 35 } |
36 | 36 |
37 bool operator ==(other) { | 37 bool operator ==(other) { |
38 if (other is !Duration) return false; | 38 if (other is !Duration) return false; |
39 return inMilliseconds == other.inMilliseconds; | 39 return inMilliseconds == other.inMilliseconds; |
40 } | 40 } |
41 | 41 |
42 int hashCode() { | 42 int hashCode() { |
43 return inMilliseconds.hashCode(); | 43 return inMilliseconds.hashCode(); |
(...skipping 21 matching lines...) Expand all Loading... |
65 } | 65 } |
66 String twoDigitMinutes = | 66 String twoDigitMinutes = |
67 twoDigits(inMinutes.remainder(Duration.MINUTES_PER_HOUR)); | 67 twoDigits(inMinutes.remainder(Duration.MINUTES_PER_HOUR)); |
68 String twoDigitSeconds = | 68 String twoDigitSeconds = |
69 twoDigits(inSeconds.remainder(Duration.SECONDS_PER_MINUTE)); | 69 twoDigits(inSeconds.remainder(Duration.SECONDS_PER_MINUTE)); |
70 String threeDigitMs = | 70 String threeDigitMs = |
71 threeDigits(inMilliseconds.remainder(Duration.MILLISECONDS_PER_SECOND)); | 71 threeDigits(inMilliseconds.remainder(Duration.MILLISECONDS_PER_SECOND)); |
72 return "${inHours}:${twoDigitMinutes}:${twoDigitSeconds}.${threeDigitMs}"; | 72 return "${inHours}:${twoDigitMinutes}:${twoDigitSeconds}.${threeDigitMs}"; |
73 } | 73 } |
74 } | 74 } |
OLD | NEW |