10位时间戳转为C#格式时间
public static string ConvertStringToDateTime( this string timeStamp)
{
Int64 begtime = Convert.ToInt64(timeStamp) * 10000000;
DateTime dt_1970 = new DateTime(1970, 1, 1, 8, 0, 0);
long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度
long time_tricks = tricks_1970 + begtime;//日志日期刻度
DateTime dt = new DateTime(time_tricks);//转化为DateTime
return dt.ToString("yyyy-MM-dd");
}
时间格式转化为10位时间戳
public long GetTimeStamp(DateTime dt)
{
DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0);
long timeStamp = Convert.ToInt32((dt - dateStart).TotalSeconds);
//Console.WriteLine("10位秒级的时间戳:" + timeStamp);
return timeStamp;
}
测试
TimeHelperTests t = new TimeHelperTests(); //t.GetCurrentTimestampTest(); while (true) { Console.WriteLine("请输入你的时间:(yyyy-MM-dd)"); string time = Console.ReadLine(); DateTime dtDate; if (DateTime.TryParse(time, out dtDate)) { Console.WriteLine("输出:" + dtDate); } else { Console.WriteLine("请输入正确的日期格式"); break; } var gettimwsa = t.GetTimeStamp(DateTime.Parse(time)); Console.WriteLine("10位秒级的时间戳:" + gettimwsa); Console.WriteLine("用时间(yyyy-MM-dd)转换为时间戳,再由时间戳转换为标准时间为:" + gettimwsa.ToString().ConvertStringToDateTime()); }
输出结果: