 |
Changeset 2164
- Timestamp:
- 05/04/07 22:33:21
(2 years ago)
- Author:
- kris
- Message:
- renamed util.time.Utc to be util.time.Clock
- renamed util.time.Wall to be util.time.WallClock?
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r2145 |
r2164 |
|
| 25 | 25 | import tango.net.SocketConduit; |
|---|
| 26 | 26 | import tango.net.ServerSocket; |
|---|
| 27 | | import tango.util.time.Utc; |
|---|
| | 27 | import tango.util.time.Clock; |
|---|
| 28 | 28 | import tango.util.log.Log; |
|---|
| 29 | 29 | import tango.util.log.ConsoleAppender; |
|---|
| … | … | |
| 103 | 103 | uint closeCount = 0; |
|---|
| 104 | 104 | uint errorCount = 0; |
|---|
| 105 | | Time start = Utc.now; |
|---|
| | 105 | Time start = Clock.now; |
|---|
| 106 | 106 | Thread clientThread; |
|---|
| 107 | 107 | |
|---|
| … | … | |
| 294 | 294 | failedConnectCount, failedReceiveCount, failedSendCount, errorCount)); |
|---|
| 295 | 295 | |
|---|
| 296 | | log.info(sprint("Total time: {0} ms", cast(uint) ((Utc.now - start) / start.TicksPerMillisecond))); |
|---|
| | 296 | log.info(sprint("Total time: {0} ms", cast(uint) ((Clock.now - start) / start.TicksPerMillisecond))); |
|---|
| 297 | 297 | |
|---|
| 298 | 298 | clientThread.join(); |
|---|
| r2163 |
r2164 |
|
| 7 | 7 | private import tango.io.Stdout; |
|---|
| 8 | 8 | |
|---|
| 9 | | private import tango.util.time.Wall; |
|---|
| | 9 | private import tango.util.time.WallClock; |
|---|
| 10 | 10 | |
|---|
| 11 | 11 | /****************************************************************************** |
|---|
| … | … | |
| 19 | 19 | { |
|---|
| 20 | 20 | // retreive local time |
|---|
| 21 | | auto date = Wall.toDate; |
|---|
| | 21 | auto date = WallClock.toDate; |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | // get GMT difference in minutes |
|---|
| 24 | | auto tz = cast(int) (Wall.zone / Time.TicksPerMinute); |
|---|
| | 24 | auto tz = cast(int) (WallClock.zone / Time.TicksPerMinute); |
|---|
| 25 | 25 | char sign = '+'; |
|---|
| 26 | 26 | if (tz < 0) |
|---|
| r1905 |
r2164 |
|
| 7 | 7 | import tango.io.Stdout; |
|---|
| 8 | 8 | |
|---|
| 9 | | import tango.util.time.Date; |
|---|
| 10 | | import tango.util.time.Utc; |
|---|
| | 9 | import tango.util.time.WallClock; |
|---|
| 11 | 10 | |
|---|
| 12 | 11 | char[] workdir; |
|---|
| … | … | |
| 97 | 96 | |
|---|
| 98 | 97 | Stdout("!! Exporting from working copy for packaging").newline; |
|---|
| 99 | | Date date; |
|---|
| 100 | | date.set(Utc.local); |
|---|
| | 98 | auto date = WallClock.toDate; |
|---|
| 101 | 99 | char[] datestr; |
|---|
| 102 | 100 | datestr = Stdout.layout.sprint(new char[10], "{}{:2}{:2}", date.year, date.month, date.day); |
|---|
| r2097 |
r2164 |
|
| 20 | 20 | private import tango.io.FileConst; |
|---|
| 21 | 21 | |
|---|
| 22 | | private import tango.util.time.Utc; |
|---|
| 23 | | |
|---|
| 24 | 22 | private import tango.core.Exception; |
|---|
| | 23 | |
|---|
| | 24 | private import tango.util.time.Clock; |
|---|
| | 25 | |
|---|
| 25 | 26 | |
|---|
| 26 | 27 | /******************************************************************************* |
|---|
| … | … | |
| 921 | 922 | |
|---|
| 922 | 923 | getInfo (info); |
|---|
| 923 | | time.modified = Utc.convert (info.ftLastWriteTime); |
|---|
| 924 | | time.accessed = Utc.convert (info.ftLastAccessTime); |
|---|
| 925 | | time.created = Utc.convert (info.ftCreationTime); |
|---|
| | 924 | time.modified = Clock.convert (info.ftLastWriteTime); |
|---|
| | 925 | time.accessed = Clock.convert (info.ftLastAccessTime); |
|---|
| | 926 | time.created = Clock.convert (info.ftCreationTime); |
|---|
| 926 | 927 | return time; |
|---|
| 927 | 928 | } |
|---|
| … | … | |
| 1223 | 1224 | getInfo (stats); |
|---|
| 1224 | 1225 | |
|---|
| 1225 | | time.modified = Utc.convert (*cast(timeval*) &stats.st_mtime); |
|---|
| 1226 | | time.accessed = Utc.convert (*cast(timeval*) &stats.st_atime); |
|---|
| 1227 | | time.created = Utc.convert (*cast(timeval*) &stats.st_ctime); |
|---|
| | 1226 | time.modified = Clock.convert (*cast(timeval*) &stats.st_mtime); |
|---|
| | 1227 | time.accessed = Clock.convert (*cast(timeval*) &stats.st_atime); |
|---|
| | 1228 | time.created = Clock.convert (*cast(timeval*) &stats.st_ctime); |
|---|
| 1228 | 1229 | return time; |
|---|
| 1229 | 1230 | } |
|---|
| r2159 |
r2164 |
|
| 13 | 13 | module tango.net.ftp.FtpClient; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.net.Socket; |
|---|
| 16 | | private import tango.util.time.Utc; |
|---|
| 17 | | private import tango.util.time.Date; |
|---|
| 18 | | private import tango.net.ftp.Telnet; |
|---|
| 19 | | private import tango.io.FileConduit; |
|---|
| 20 | | private import tango.io.MemoryConduit; |
|---|
| | 15 | private import tango.net.Socket; |
|---|
| | 16 | |
|---|
| | 17 | private import tango.net.ftp.Telnet; |
|---|
| | 18 | |
|---|
| | 19 | private import tango.util.time.Date, |
|---|
| | 20 | tango.util.time.Clock; |
|---|
| | 21 | |
|---|
| | 22 | private import tango.io.FileConduit, |
|---|
| | 23 | tango.io.MemoryConduit; |
|---|
| 21 | 24 | |
|---|
| 22 | 25 | private import Text = tango.text.Util; |
|---|
| … | … | |
| 611 | 614 | |
|---|
| 612 | 615 | // At end_time, we bail. |
|---|
| 613 | | Time end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| 614 | | |
|---|
| 615 | | while (Utc.now < end_time) |
|---|
| | 616 | Time end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| | 617 | |
|---|
| | 618 | while (Clock.now < end_time) |
|---|
| 616 | 619 | { |
|---|
| 617 | 620 | set.reset(); |
|---|
| … | … | |
| 1352 | 1355 | date.min = Integer.atoi (timeval[10..12]); |
|---|
| 1353 | 1356 | date.sec = Integer.atoi (timeval[12..14]); |
|---|
| 1354 | | return Utc.fromDate (date); |
|---|
| | 1357 | return Clock.fromDate (date); |
|---|
| 1355 | 1358 | } |
|---|
| 1356 | 1359 | |
|---|
| … | … | |
| 1539 | 1542 | |
|---|
| 1540 | 1543 | // At end_time, we bail. |
|---|
| 1541 | | Time end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 1544 | Time end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 1542 | 1545 | |
|---|
| 1543 | 1546 | // This is the buffer the stream data is stored in. |
|---|
| … | … | |
| 1548 | 1551 | size_t pos = 0; |
|---|
| 1549 | 1552 | bool completed = false; |
|---|
| 1550 | | while (!completed && Utc.now < end_time) |
|---|
| | 1553 | while (!completed && Clock.now < end_time) |
|---|
| 1551 | 1554 | { |
|---|
| 1552 | 1555 | set.reset(); |
|---|
| … | … | |
| 1578 | 1581 | // Give it more time as long as data is going through. |
|---|
| 1579 | 1582 | if (delta != 0) |
|---|
| 1580 | | end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 1583 | end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 1581 | 1584 | } |
|---|
| 1582 | 1585 | |
|---|
| … | … | |
| 1606 | 1609 | |
|---|
| 1607 | 1610 | // At end_time, we bail. |
|---|
| 1608 | | Time end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 1611 | Time end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 1609 | 1612 | |
|---|
| 1610 | 1613 | // This is the buffer the stream data is stored in. |
|---|
| … | … | |
| 1614 | 1617 | bool completed = false; |
|---|
| 1615 | 1618 | size_t pos; |
|---|
| 1616 | | while (Utc.now < end_time) |
|---|
| | 1619 | while (Clock.now < end_time) |
|---|
| 1617 | 1620 | { |
|---|
| 1618 | 1621 | set.reset(); |
|---|
| … | … | |
| 1641 | 1644 | |
|---|
| 1642 | 1645 | // Give it more time as long as data is going through. |
|---|
| 1643 | | end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 1646 | end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 1644 | 1647 | } |
|---|
| 1645 | 1648 | |
|---|
| … | … | |
| 1750 | 1753 | |
|---|
| 1751 | 1754 | // Pick a time at which we stop reading. It can't take too long, but it could take a bit for the whole response. |
|---|
| 1752 | | Time end_time = cast(Time) (Utc.now + this.timeout * 10); |
|---|
| | 1755 | Time end_time = cast(Time) (Clock.now + this.timeout * 10); |
|---|
| 1753 | 1756 | |
|---|
| 1754 | 1757 | FtpResponse response; |
|---|
| … | … | |
| 1756 | 1759 | |
|---|
| 1757 | 1760 | // Danger, Will Robinson, don't fall into an endless loop from a malicious server. |
|---|
| 1758 | | while (Utc.now < end_time) |
|---|
| | 1761 | while (Clock.now < end_time) |
|---|
| 1759 | 1762 | { |
|---|
| 1760 | 1763 | single_line = this.readLine(); |
|---|
| r2145 |
r2164 |
|
| 15 | 15 | private import tango.net.Socket; |
|---|
| 16 | 16 | |
|---|
| 17 | | private import tango.util.time.Utc; |
|---|
| 18 | | |
|---|
| 19 | 17 | private import tango.core.Exception; |
|---|
| | 18 | |
|---|
| | 19 | private import tango.util.time.Clock; |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | private import Integer = tango.text.convert.Integer; |
|---|
| … | … | |
| 62 | 62 | { |
|---|
| 63 | 63 | // At end_time, we bail. |
|---|
| 64 | | Time end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 64 | Time end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 65 | 65 | |
|---|
| 66 | 66 | // Set up a SocketSet so we can use select() - it's pretty efficient. |
|---|
| … | … | |
| 70 | 70 | |
|---|
| 71 | 71 | size_t pos = 0; |
|---|
| 72 | | while (Utc.now < end_time) |
|---|
| | 72 | while (Clock.now < end_time) |
|---|
| 73 | 73 | { |
|---|
| 74 | 74 | set.reset(); |
|---|
| … | … | |
| 101 | 101 | { |
|---|
| 102 | 102 | // Figure, first, how long we're allowed to take. |
|---|
| 103 | | Time end_time = cast(Time) (Utc.now + this.timeout); |
|---|
| | 103 | Time end_time = cast(Time) (Clock.now + this.timeout); |
|---|
| 104 | 104 | |
|---|
| 105 | 105 | // An overall buffer and a one-char buffer. |
|---|
| … | … | |
| 129 | 129 | delete set; |
|---|
| 130 | 130 | |
|---|
| 131 | | while (Utc.now < end_time) |
|---|
| | 131 | while (Clock.now < end_time) |
|---|
| 132 | 132 | { |
|---|
| 133 | 133 | set.reset(); |
|---|
| r2159 |
r2164 |
|
| 32 | 32 | private import tango.core.Exception; |
|---|
| 33 | 33 | |
|---|
| 34 | | private import tango.util.time.Utc, |
|---|
| 35 | | tango.util.time.Date; |
|---|
| | 34 | private import tango.util.time.Date, |
|---|
| | 35 | tango.util.time.Clock; |
|---|
| 36 | 36 | |
|---|
| 37 | 37 | private import Util = tango.text.Util; |
|---|
| … | … | |
| 141 | 141 | |
|---|
| 142 | 142 | // convert time to field values |
|---|
| 143 | | auto date = Utc.toDate (time); |
|---|
| | 143 | auto date = Clock.toDate (time); |
|---|
| 144 | 144 | |
|---|
| 145 | 145 | // use the featherweight formatter ... |
|---|
| … | … | |
| 217 | 217 | p[0..3] == "GMT") |
|---|
| 218 | 218 | { |
|---|
| 219 | | value = Utc.fromDate (date); |
|---|
| | 219 | value = Clock.fromDate (date); |
|---|
| 220 | 220 | return (p+3) - src.ptr; |
|---|
| 221 | 221 | } |
|---|
| … | … | |
| 263 | 263 | date.year += 1900; |
|---|
| 264 | 264 | |
|---|
| 265 | | value = Utc.fromDate (date); |
|---|
| | 265 | value = Clock.fromDate (date); |
|---|
| 266 | 266 | return (p+3) - src.ptr; |
|---|
| 267 | 267 | } |
|---|
| … | … | |
| 302 | 302 | (date.year = parseInt (p)) > 0) |
|---|
| 303 | 303 | { |
|---|
| 304 | | value = Utc.fromDate (date); |
|---|
| | 304 | value = Clock.fromDate (date); |
|---|
| 305 | 305 | return p - src.ptr; |
|---|
| 306 | 306 | } |
|---|
| … | … | |
| 348 | 348 | date.year += 1900; |
|---|
| 349 | 349 | |
|---|
| 350 | | value = Utc.fromDate (date); |
|---|
| | 350 | value = Clock.fromDate (date); |
|---|
| 351 | 351 | return (p+2) - src.ptr; |
|---|
| 352 | 352 | } |
|---|
| … | … | |
| 384 | 384 | (date.ms = parseInt(p)) > 0) |
|---|
| 385 | 385 | { |
|---|
| 386 | | value = Utc.fromDate (date); |
|---|
| | 386 | value = Clock.fromDate (date); |
|---|
| 387 | 387 | return p - src.ptr; |
|---|
| 388 | 388 | } |
|---|
| r2154 |
r2164 |
|
| 13 | 13 | module tango.text.locale.Convert; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.text.locale.Core; |
|---|
| 16 | | |
|---|
| 17 | | private import tango.util.time.Wall, |
|---|
| 18 | | tango.util.time.DateTime; |
|---|
| | 15 | private import tango.text.locale.Core; |
|---|
| | 16 | |
|---|
| | 17 | private import tango.util.time.DateTime, |
|---|
| | 18 | tango.util.time.WallClock; |
|---|
| 19 | 19 | |
|---|
| 20 | 20 | private import tango.util.time.chrono.Calendar; |
|---|
| 21 | 21 | |
|---|
| 22 | | private import Integer = tango.text.convert.Integer; |
|---|
| | 22 | private import Integer = tango.text.convert.Integer; |
|---|
| 23 | 23 | |
|---|
| 24 | 24 | /****************************************************************************** |
|---|
| … | … | |
| 412 | 412 | else |
|---|
| 413 | 413 | { |
|---|
| 414 | | auto minutes = cast(int) (Wall.zone / Time.TicksPerMinute); |
|---|
| | 414 | auto minutes = cast(int) (WallClock.zone / Time.TicksPerMinute); |
|---|
| 415 | 415 | if (minutes < 0) |
|---|
| 416 | 416 | minutes = -minutes, result ~= '-'; |
|---|
| r2160 |
r2164 |
|
| 18 | 18 | private import tango.text.Util; |
|---|
| 19 | 19 | |
|---|
| 20 | | private import tango.util.time.Utc, |
|---|
| 21 | | tango.util.time.Wall; |
|---|
| | 20 | private import tango.util.time.Clock, |
|---|
| | 21 | tango.util.time.WallClock; |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | private import Int = tango.text.convert.Integer; |
|---|
| … | … | |
| 60 | 60 | // convert time to field values |
|---|
| 61 | 61 | auto time = event.getEpochTime; |
|---|
| 62 | | auto date = (localTime) ? Wall.toDate(time) : Utc.toDate(time); |
|---|
| | 62 | auto date = (localTime) ? WallClock.toDate(time) : Clock.toDate(time); |
|---|
| 63 | 63 | |
|---|
| 64 | 64 | // format date according to ISO-8601 (lightweight formatter) |
|---|
| r2145 |
r2164 |
|
| 18 | 18 | private import tango.sys.Common; |
|---|
| 19 | 19 | |
|---|
| 20 | | private import tango.util.time.Utc; |
|---|
| | 20 | private import tango.util.time.Clock; |
|---|
| 21 | 21 | |
|---|
| 22 | 22 | private import tango.util.log.model.ILevel, |
|---|
| … | … | |
| 140 | 140 | version (Posix) |
|---|
| 141 | 141 | { |
|---|
| 142 | | beginTime = Utc.now; |
|---|
| | 142 | beginTime = Clock.now; |
|---|
| 143 | 143 | } |
|---|
| 144 | 144 | |
|---|
| … | … | |
| 152 | 152 | QueryPerformanceCounter (&timerStart); |
|---|
| 153 | 153 | multiplier = 10_000_000.0 / freq; |
|---|
| 154 | | beginTime = Utc.now; |
|---|
| | 154 | beginTime = Clock.now; |
|---|
| 155 | 155 | |
|---|
| 156 | 156 | } |
|---|
| … | … | |
| 178 | 178 | version (Posix) |
|---|
| 179 | 179 | { |
|---|
| 180 | | return Utc.now; |
|---|
| | 180 | return Clock.now; |
|---|
| 181 | 181 | } |
|---|
| 182 | 182 | |
|---|
| r2163 |
r2164 |
|
| 13 | 13 | module tango.util.time.Date; |
|---|
| 14 | 14 | |
|---|
| 15 | | private import tango.sys.Common; |
|---|
| 16 | | |
|---|
| 17 | | private import tango.util.time.Utc; |
|---|
| 18 | | |
|---|
| 19 | 15 | /******************************************************************************* |
|---|
| 20 | 16 | |
|---|
| … | … | |
| 23 | 19 | fields to the current UTC time: |
|---|
| 24 | 20 | --- |
|---|
| 25 | | auto date = Utc.toDate; |
|---|
| | 21 | auto date = Clock.toDate; |
|---|
| 26 | 22 | --- |
|---|
| 27 | 23 | |
|---|
| r2158 |
r2164 |
|
| 6 | 6 | |
|---|
| 7 | 7 | version: mid 2005: Initial release |
|---|
| 8 | | Apr 2007: reshaped |
|---|
| | 8 | Apr 2007: heavily reshaped |
|---|
| 9 | 9 | |
|---|
| 10 | 10 | author: John Chapman, Kris |
|---|
| … | … | |
| 14 | 14 | module tango.util.time.DateTime; |
|---|
| 15 | 15 | |
|---|
| 16 | | private import tango.util.time.Utc; |
|---|
| 17 | | private import tango.util.time.Wall; |
|---|
| | 16 | private import tango.util.time.Clock, |
|---|
| | 17 | tango.util.time.WallClock; |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | /****************************************************************************** |
|---|
| … | … | |
| 159 | 159 | static DateTime now () |
|---|
| 160 | 160 | { |
|---|
| 161 | | return DateTime (Wall.now); |
|---|
| | 161 | return DateTime (WallClock.now); |
|---|
| 162 | 162 | } |
|---|
| 163 | 163 | |
|---|
| … | … | |
| 174 | 174 | static DateTime utc () |
|---|
| 175 | 175 | { |
|---|
| 176 | | return DateTime (Utc.now); |
|---|
| | 176 | return DateTime (Clock.now); |
|---|
| 177 | 177 | } |
|---|
| 178 | 178 | |
|---|
| r2163 |
r2164 |
|
| 11 | 11 | *******************************************************************************/ |
|---|
| 12 | 12 | |
|---|
| 13 | | module tango.util.time.Wall; |
|---|
| | 13 | module tango.util.time.WallClock; |
|---|
| 14 | 14 | |
|---|
| 15 | 15 | private import tango.sys.Common; |
|---|
| 16 | 16 | |
|---|
| 17 | | private import tango.util.time.Utc, |
|---|
| 18 | | tango.util.time.Date; |
|---|
| | 17 | private import tango.util.time.Date, |
|---|
| | 18 | tango.util.time.Clock; |
|---|
| 19 | 19 | |
|---|
| 20 | 20 | public import tango.core.Type : Time; |
|---|
| … | … | |
| 22 | 22 | /****************************************************************************** |
|---|
| 23 | 23 | |
|---|
| 24 | | Exposes Wall time relative to Jan 1st, 1 AD. These values are |
|---|
| | 24 | Exposes wall-time relative to Jan 1st, 1 AD. These values are |
|---|
| 25 | 25 | based upon a clock-tick of 100ns, giving them a span of greater |
|---|
| 26 | 26 | than 10,000 years. Units of Time are the foundation of most time |
|---|
| … | … | |
| 37 | 37 | *******************************************************************************/ |
|---|
| 38 | 38 | |
|---|
| 39 | | struct Wall |
|---|
| | 39 | struct WallClock |
|---|
| 40 | 40 | { |
|---|
| 41 | 41 | version (Win32) |
|---|
| … | … | |
| 49 | 49 | static Time now () |
|---|
| 50 | 50 | { |
|---|
| 51 | | return cast(Time) (Utc.now - localBias); |
|---|
| | 51 | return cast(Time) (Clock.now - localBias); |
|---|
| 52 | 52 | } |
|---|
| 53 | 53 | |
|---|
| … | … | |
| 77 | 77 | static Date toDate () |
|---|
| 78 | 78 | { |
|---|
| 79 | | return toDate (Utc.now); |
|---|
| | 79 | return toDate (Clock.now); |
|---|
| 80 | 80 | } |
|---|
| 81 | 81 | |
|---|
| … | … | |
| 90 | 90 | static Date toDate (Time time) |
|---|
| 91 | 91 | { |
|---|
| 92 | | return Utc.toDate (cast(Time) (time - localBias)); |
|---|
| | 92 | return Clock.toDate (cast(Time) (time - localBias)); |
|---|
| 93 | 93 | } |
|---|
| 94 | 94 | |
|---|
| … | … | |
| 101 | 101 | static Time fromDate (inout Date date) |
|---|
| 102 | 102 | { |
|---|
| 103 | | return cast(Time) (Utc.fromDate(date) + localBias); |
|---|
| | 103 | return cast(Time) (Clock.fromDate(date) + localBias); |
|---|
| 104 | 104 | } |
|---|
| 105 | 105 | |
|---|
| … | … | |
| 150 | 150 | localtime_r (&tv.tv_sec, &t); |
|---|
| 151 | 151 | tv.tv_sec = timegm (&t); |
|---|
| 152 | | return Utc.convert (tv); |
|---|
| | 152 | return Clock.convert (tv); |
|---|
| 153 | 153 | } |
|---|
| 154 | 154 | |
|---|
| … | … | |
| 182 | 182 | static Date toDate () |
|---|
| 183 | 183 | { |
|---|
| 184 | | return toDate (Utc.now); |
|---|
| | 184 | return toDate (Clock.now); |
|---|
| 185 | 185 | } |
|---|
| 186 | 186 | |
|---|
| … | … | |
| 196 | 196 | { |
|---|
| 197 | 197 | Date date = void; |
|---|
| 198 | | auto timeval = Utc.convert (time); |
|---|
| | 198 | auto timeval = Clock.convert (time); |
|---|
| 199 | 199 | date.ms = timeval.tv_usec / 1000; |
|---|
| 200 | 200 | |
|---|
Download in other formats:
|
 |
 |
|
 |
Copyright © 2006-2008 Tango. All Rights Reserved. | Page Width:
Static or
Dynamic