【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
/*******相与枕藉乎舟中,不知东方之既白*******/