参考
17位毫秒级别的日期转换
//毫秒级别 17位
string timestamp =DateTime.Now.ToString("yyyyMMddHHmmssfff"); --20220609145900458
13位时间戳转日期格式(yyyy-MM-dd HH:mm:ss)
/// <summary>
/// 13位时间戳转 日期格式 1652338858000 -> 2022-05-12 03:00:58
/// </summary>
/// <param name="timestamp"></param>
/// <returns></returns>
public static DateTime GetDateTimeMilliseconds(long timestamp)
{
long begtime = timestamp * 10000;
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;
}
获取13位时间戳
/// <summary>
/// 13位时间戳
/// </summary>
/// <returns></returns>
public static long GetTimestamp()
{
TimeSpan ts = DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1);
return (long)ts.TotalMilliseconds;
}
返回 int类型的时间戳
/// <summary>
/// 获取当前时间戳 返回int
/// </summary>
/// <returns></returns>
public int GetTimeStamptoint()
{
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
int sjc = (int)Convert.ToInt64(ts.TotalSeconds);
return sjc;
}