DateTime与long互转
Posted 雨文100
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DateTime与long互转相关的知识,希望对你有一定的参考价值。
DateTime转long:
public static long GetDateLong(object time) { DateTime epoc = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); TimeSpan delta = new TimeSpan(); if (time is DateTime) delta = ((DateTime)time).Subtract(epoc); else if (time is string) delta = DateTime.Parse(time.ToString()).Subtract(epoc); else throw new ArgumentOutOfRangeException("时间格式错误.1"); if (delta.TotalMilliseconds < 0) throw new ArgumentOutOfRangeException("时间格式错误.2"); long ticks = (long)delta.TotalMilliseconds; return ticks; }
long转DateTime:
public static DateTime GetDateFromLong(long ticks) { var date = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); date = date.AddMilliseconds(ticks); return date; }
网上常见错误:
DateTime epoc = new DateTime(1970, 1, 1);
以上是关于DateTime与long互转的主要内容,如果未能解决你的问题,请参考以下文章