标签:cal col rgba returns div region rsa localtime 表示
/// <summary> /// 时间戳与DateTime互转 /// </summary> public class TicksTimeConvert { /* * 时间戳10位的是秒,13位的是毫秒 * * 1秒=1000毫秒 * 1毫秒=1000微秒 * 1微秒=1000纳秒,纳秒也叫毫微秒 * * DateTime.Ticks的单位是100纳秒, * 每个计时周期表示一百纳秒,即一千万分之一秒。 * 此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00(表示 DateTime.MinValue)以来经过的以 100 纳秒为间隔的间隔数。 * **/ //1970年1月1号0点0分0秒对应的UTC时间 public static DateTime InitUTCTime = new DateTime(1970, 1, 1); //UTC时间的1970年1月1号0点0分0秒对应的DateTime.Ticks public static long InitUTCTicks = InitUTCTime.Ticks; //1970年1月1号0点0分0秒对应的本地时间 public static DateTime InitLocalTime = UTCTime2LocalTime(InitUTCTime); //本地时间的1970年1月1号0点0分0秒对应的DateTime.Ticks public static long InitLocalTicks = InitLocalTime.Ticks; #region 本地时间 /// <summary> /// 获取当前本地时间 /// </summary> /// <returns></returns> public static DateTime GetNowLocalTime() { return DateTime.Now; } /// <summary> /// 获取当前本地时间戳 /// </summary> /// <returns>当前本地时间戳,毫秒</returns> public static long GetNowLocalTicks() { return (DateTime.Now.Ticks - InitLocalTicks) / 10000; } /// <summary> /// 本地时间转本地时间戳 /// </summary> /// <param name="LocalTime">本地时间</param> /// <returns>本地时间戳,毫秒</returns> public static long LocalTime2LocalTicks(DateTime LocalTime) { return (LocalTime.Ticks - InitLocalTicks) / 10000; } /// <summary> /// 本地时间戳转本地时间 /// </summary> /// <param name="LocalTicks">本地时间戳,毫秒</param> /// <returns>本地时间</returns> public static DateTime LocalTicks2LocalTime(long LocalTicks) { return InitLocalTime.Add(new TimeSpan(LocalTicks * 10000)); } #endregion #region UTC时间 /// <summary> /// 获取当前UTC时间 /// </summary> /// <returns></returns> public static DateTime GetNowUTCTime() { return DateTime.UtcNow; } /// <summary> /// 获取当前UTC时间戳 /// </summary> /// <returns>当前UTC时间戳,毫秒</returns> public static long GetNowUTCTicks() { return (DateTime.UtcNow.Ticks - InitUTCTicks) / 10000; } /// <summary> /// UTC时间转UTC时间戳 /// </summary> /// <param name="UTCTime"> UTC时间</param> /// <returns>UTC时间戳,毫秒</returns> public static long UTCTime2UTCTicks(DateTime UTCTime) { return (UTCTime.Ticks - InitUTCTicks) / 10000; } /// <summary> /// UTC时间戳转UTC时间 /// </summary> /// <param name="UTCTicks">UTC时间戳</param> /// <returns>UTC时间,毫秒</returns> public static DateTime UTCTicks2UTCTime(long UTCTicks) { return InitUTCTime.Add(new TimeSpan(UTCTicks * 10000)); } #endregion #region 本地和UTC 时间、时间戳互转 /// <summary> /// UTC时间转本地时间 /// </summary> /// <param name="dt">UTC时间</param> /// <returns>本地时间</returns> public static DateTime UTCTime2LocalTime(DateTime UTCTime) { return TimeZone.CurrentTimeZone.ToLocalTime(UTCTime); } /// <summary> /// 本地时间转UTC时间 /// </summary> /// <param name="dt">本地时间</param> /// <returns>UTC时间</returns> public static DateTime LocalTime2UTCTime(DateTime LocalTime) { return LocalTime.ToUniversalTime(); } /// <summary> /// UTC时间转本地时间戳 /// </summary> /// <param name="UTCTime">UTC时间</param> /// <returns>本地时间戳,毫秒</returns> public static long UTCTime2LocalTicks(DateTime UTCTime) { return LocalTime2LocalTicks(UTCTime2LocalTime(UTCTime)); } /// <summary> /// 本地时间转UTC时间戳 /// </summary> /// <param name="LocalTime">本地时间</param> /// <returns>UTC时间戳,毫秒</returns> public static long LocalTime2UTCTicks(DateTime LocalTime) { return UTCTime2UTCTicks(LocalTime2UTCTime(LocalTime)); } /// <summary> /// UTC时间戳转本地时间 /// </summary> /// <param name="UTCTicks">UTC时间戳,毫秒</param> /// <returns>本地时间</returns> public static DateTime UTCTicks2LocalTime(long UTCTicks) { return UTCTime2LocalTime(UTCTicks2UTCTime(UTCTicks)); } /// <summary> /// 本地时间戳转UTC时间 /// </summary> /// <param name="LocalTicks">本地时间戳,毫秒</param> /// <returns>UTC时间</returns> public static DateTime LocalTicks2UTCTime(long LocalTicks) { return LocalTime2UTCTime(LocalTicks2LocalTime(LocalTicks)); } #endregion }
标签:cal col rgba returns div region rsa localtime 表示
原文地址:https://www.cnblogs.com/v-dai/p/13719605.html