On Tuesday, 28 May 2024 at 23:18:46 UTC, Steven Schveighoffer
wrote:
On Tuesday, 28 May 2024 at 18:41:02 UTC, bauss wrote:
On Tuesday, 28 May 2024 at 18:29:17 UTC, Ferhat Kurtulmuş
wrote:
On Tuesday, 28 May 2024 at 17:37:42 UTC, bauss wrote:
I have two questions that I can't seem to find a solution to
after looking at std.datetime.
First question is how do I get the current time but in
milliseconds?
Second is how do I construct a time ex. systime or datetime
based on milliseconds?
Thanks
Unixtime might be what you want:
import std;
import std.datetime;
import std.stdio;
void main() {
// Get the current time in the UTC time zone
auto currentTime = Clock.currTime();
// Convert the time to the Unix epoch
(1970-01-01T00:00:00Z)
Duration unixTime = currentTime -
SysTime(DateTime(1970, 1, 1), UTC());
You can do `SysTime(unixTimeToStdTime(0))` to get a SysTime
that is at the unix epoch.
Also figured out the second question based on your result.
Simply doing:
```
SysTime(DateTime(1970, 1, 1), UTC()) +
dur!"msecs"(milliseconds)
```
Seems to work.
Note there is an `msecs` function:
```d
SysTime(unixTimeToStdTime(0)) + milliseconds.msecs;
```
https://dlang.org/phobos/std_datetime_systime.html#unixTimeToStdTime
https://dlang.org/phobos/core_time.html#msecs
-Steve
Thanks! That's a lot cleaner