【C#】DateTime使用汇总

 


一、DateTime类型转换

(1)DateTime与long相互转换

日期转换为long:
DateTime dtnow = DateTime.Now;
long time = dtnow.Ticks;

long转换为日期:
long time = 636617664000000000;
DateTime dt = new DateTime(time);

 

2、DateTime与byte[]相互转换

只要把DateTime转换为long再转换为byte[]

long  i = 123;
byte [] tmpBuff = BitConverter.GetBytes(i);     // 将 int 转换成字节数组
i = BitConverter.ToInt64(tmpBuff, 0);           // 从字节数组转换成 int

 

二、DateTime转ms时间

复制代码
        /// <summary>
        /// 获取时间戳
        /// </summary>
        /// <param name="dt">时间</param>
        /// <param name="millisecond">是否毫秒级,true毫秒级(默认值)</param>
        /// <returns></returns>
        public static long ToTimestamp(this DateTime dt, bool millisecond = true)
        {
            /*
             * ticks的单位是100纳秒,1 Tick=100纳秒,所以需要除以10000000(秒),10000(毫秒)
             *  s(秒),ms(毫秒),μs(微秒),ns(纳秒),1s=1000ms,1 ms=1000μs,1μs=1000ns
             */
            int divisor = millisecond ? 10000 : 10000000;
            long dt_ticks = dt.ToUniversalTime().Ticks;
            return (dt_ticks - Const.TiksUtc1970) / divisor;
        }
复制代码

时间戳转换参考:https://www.cnblogs.com/bugzero/p/12077436.html

 

posted @   不溯流光  阅读(937)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示