面向云技术架构 - 痴者工良

  • 首页
  • 工良写的电子书
    • kubernetes 教程
    • 从 C# 入门 Kafka
    • 多线程和异步
    • 动态编程-反射、特性、AOP
    • 表达式树
  • 本站文章导航
  • 隐私政策
愿有人陪你颠沛流离
遇到能让你付出的事物或者人,都是一种运气。
能遇到,就该珍惜。或许你们最终没能在一起,但你会切实地感受到力量。
正因为这样,那段相遇才变得有价值,才没有辜负这世间的每一段相遇。
  1. 首页
  2. 笔记和吹水
  3. 正文

C# Json 字符串时间 转对象

2019年12月6日 2216点热度 0人点赞 2条评论
内容纲要

使用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;
        }
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: c json 字符串 对象 时间
最后更新:2019年12月18日

痴者工良

高级程序员劝退师

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022 whuanle.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备18051778号

粤公网安备 44030902003257号