Unix时间戳(timestamp)是一组数字,表示从1970年1月1日以来的秒数。在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);
iPhone中的 *.plist 文件中的时间项 的起始时间不是 1970/1/1 ,而是 2001/1/1
基本概念: 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。