使用C#对Unix的timestamp进行转换

来源:互联网 发布:淘宝网店名 编辑:程序博客网 时间:2024/04/29 03:50

 文章出处:http://blog.hnce.net/post/dotnet_unix_timestamp_convert.html


   在众多的PHP+MySQL的应用之中,存储在MySQL中的时间都是一串数字,后经查这个格式的日期叫做:Unix Timestamp;Unix的timestamp是一组数字,表示从1970年1月1日以来的秒数。今天在进行C#应用开发时需要对MySQL中的数据 进行操作,写出以下方法供大家参考。


主要应用到的类库有:
System.TimeZone
应用的方法:
返回对应于指定协调通用时间 (UTC) 的本地时间。
public virtual DateTime ToLocalTime(
   DateTime time
);


1、将系统时间转换成UNIX时间戳

            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
            DateTime dtNow = DateTime.Parse(DateTime.Now.ToString());
            TimeSpan toNow = dtNow.Subtract(dtStart);
            string timeStamp = toNow.Ticks.ToString();
            timeStamp = timeStamp.Substring(0,timeStamp.Length - 7);


2、将UNIX时间戳转换成系统时
            string timeStamp = "1176686120";
            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
            long lTime = long.Parse(timeStamp + "0000000");
            TimeSpan toNow = new TimeSpan(lTime);
            DateTime dtResult = dtStart.Add(toNow); 
原创粉丝点击