内容目录
使用Json存储时间需要转为对象时,
要使用如下面的格式
2019-12-06T17:15:52Z
Z 表示时区
使用示例:
表示北京时间
2019-12-06T17:15:52+08:00
但是前端、C#时间转换和数据库的时间处理,协调起来会比较麻烦,JSON和字符串转时间也会麻烦。
根据笔者的校验,建议使用 UNIX 时间戳 形式传递。
C# 快速将当前时间转换为时间戳的代码为(以秒为单位)
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000 / 1000
如果你想以毫秒为单位
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000
C# 时间转换的常用代码
/// <summary>
/// 获取1970-01-01至dateTime的秒数,不带时区
/// </summary>
public static long GetTimestamp(DateTime dateTime)
{
DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return (dateTime.Ticks - dt1970.Ticks) / 10000 / 1000;
}
/// <summary>
/// 根据时间戳timestamp(单位 秒)计算日期,不带时区
/// </summary>
public static DateTime NewDate(long timestamp)
{
DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
long t = dt1970.Ticks + timestamp * 10000 * 1000;
return new DateTime(t);
}
/// <summary>
/// 将字符串转为时间
/// </summary>
/// <param name="dateString"></param>
/// <returns></returns>
public static DateTime StringToDateTime(string dateString)
{
//格式必须为 2019-03-13 14:49:10.8327809
DateTime dt = Convert.ToDateTime(dateString, System.Globalization.CultureInfo.CurrentCulture);
return dt;
}
文章评论