user175084
user175084

Reputation: 4630

convert ticks to time_t or Filetime()

How do I convert ticks to time_t or filetime()?

Upvotes: 0

Views: 3541

Answers (2)

Steve Guidi
Steve Guidi

Reputation: 20200

time_t is defined as the number of seconds from the Unix epoch date January 1, 1970 @ 00:00 UTC. So, you basically need to figure out how much time your ticks represent and subtract the epoch time. The following should do it.

double GetTimeTSecondsFrom(long ticks)
{
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    return (new DateTime(ticks) - epoch).TotalSeconds;
}

Upvotes: 4

stuartd
stuartd

Reputation: 73253

For time_t:

long ticks =  633918528000000000;
DateTime target = new DateTime(ticks);
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0);
double time_t = (target - start).TotalSeconds;

Upvotes: 1

Related Questions