Unix时间戳
Unix Timestamp:
Unix的timestamp是一组数字,表示从格林威治标准时间1970年1月1日以来的秒数。
解答1:
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);
解答2:
Unix的timestamp是一组数字,表示从格林威治标准时间1970年1月1日以来的秒数。
解答1:
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);
解答2:
public DateTime UnixTimeStamp2DateTime(long d)
{
DateTime time = DateTime.MinValue;
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
time = startTime.AddSeconds((double)d);
return time;
}
/// 将c# DateTime时间格式转换为Unix时间戳格式
public long DateTime2UnixTimeStamp(DateTime time)
{
long Result = 0;
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
Result = (long)(time - startTime).TotalSeconds;
return Result;
}
浙公网安备 33010602011771号