您当前的位置:首页 > 计算机 > 编程开发 > .net

Mysql Unix_TimeStamp转C#.net DataTime

时间:11-27来源:作者:点击数:

我们先来看一下MySQL UNIX_TIMESTAMP()的描述:

returns a Unix timestamp in seconds

since ‘1970-01-01 00:00:00’ UTC as an unsigned integer

if no arguments are passed with UNIX_TIMESTAMP().

从上面的描述中可以看到它返回了一个从1970-01-01 00:00:00UTC时间到现在的秒数,它是一个无符号整数,因此我们在转化成.net的DataTime时,要从1970-01-01 00:00:00时开始加上这么多秒数,最后得到DateTime的时间,考虑到换算过来是UTC时间,还要把它转化成一个本地时间,代码如下:

public static DateTime UnixTimeStampToDateTime( int unixTimeStamp )
{
    System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
    dtDateTime = dtDateTime.AddSeconds( unixTimeStamp ).ToLocalTime();
    return dtDateTime;
}

生成TimeStamp:

public static int GetTimestamp(DateTime datetime)
{
    System.DateTime date1970 = new DateTime(1970,1,1,0,0,0,System.DateTimeKind.Utc);
    return (int)(datetime-date1970).TotalSeconds;
}

参考链接:

How to convert UNIX timestamp to DateTime and vice versa?

MySQL Date and Time functions

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门