How to create timestamp in seconds
Asked Answered
P

2

7

I have this task to populate this field:

x_fp_timestamp is the timestamp created when the form is generated. It is equal to the number of seconds since January 1, 1970 in UTC (Coordinated Universal Time).

So what I do in C# is

 long ts =  DateTime.Now.Ticks / TimeSpan.TicksPerSecond;

But in that case I am getting this error:

  • x_fp_timestamp : x_fp_timestamp invalid. Not within 15 minutes of present time: Thu Jan 10 21:30:25 GMT 2013. Expected 1357853425 plus/minus 900, but received 63493442997.

So my question is how to generate current timestamp in seconds?

Polymath answered 10/1, 2013 at 21:56 Comment(2)
Possible duplicate: #3355393Presbyter
here is a good link to look at it has so many great other examples as well Peretz Converts a DateTime object into a unix timestamp numberKrefeld
C
17

DateTime.Now.Ticks does not start at 1970; try something like this instead:

 (DateTime.Now.ToUniversalTime() - new DateTime (1970, 1, 1)).TotalSeconds
Cornel answered 10/1, 2013 at 21:59 Comment(0)
A
4

I found DateTimeOffset.ToUnixTimeSeconds to work best for my specific situation (Unity 3D [.NET standard 2.1])

    long timeNow = DateTimeOffset.Now.ToUnixTimeSeconds();
    string timeStamp = timeNow.ToString();
Ataghan answered 17/1, 2022 at 17:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.