C#でUnixTimeを扱う

DateTimeの拡張メソッドを用意しておくと便利。

public static class DateTimeExtensions 
{
    private static readonly DateTime UNIX_EPOCH = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

    public static long ToUnixTime(this DateTime dateTime)
    {
        double nowTicks = (dateTime.ToUniversalTime() - UNIX_EPOCH).TotalSeconds;
        return (long)nowTicks;
    }        
}