• .NET / C# 时间与时间戳的转换


    时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
    我们在计算时间戳时应为1970年01月01日到指定时间。
    应当注意世界时间与本地时间的区别,不然结果可能存在偏差。
    PS:以下示例代码返回时间戳均为13位(故被转换的时间戳同为13位,13位结果即总毫秒数不同需求请自觉转换)。
    在某些情况下会出现时间戳显示结果与预期结果略有偏差,合理运用本地时间与世界时间的偏移量即可解决。
          /// <summary>
            /// 获取本地时间的世界时间戳
            /// </summary>
            /// <returns></returns>
            public long GetNowTimeStamp()
            {
                var TimeStamps = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
                return TimeStamps;
            }
            /// <summary>
            /// 将时间转换为时间戳
            /// </summary>
            /// <param name="dateTime"></param>
            /// <returns></returns>
            public long ToTimeStamp(DateTime dateTime)
            {
                var TimeStamps = (dateTime.Ticks - 621355968000000000) / 10000000;
                return TimeStamps;
            }
            /// <summary>
            /// 获取本地时间的世界时间的偏移量
            /// </summary>
            /// <returns></returns>
            public long GetUtcOffsets()
            {
                var UtcOffsets = TimeZone.CurrentTimeZone.GetUtcOffset(new DateTime()).Ticks / 10000;
                return UtcOffsets;
            }
    
            /// <summary>
            /// 将时间戳转换为时间
            /// </summary>
            /// <returns></returns>
            public DateTime ToDateTime(long TimeStamps)
            {
                var date = new DateTime(1970, 1, 1).AddMilliseconds(TimeStamps);
                //new DateTime().AddMilliseconds(621355968000000000/10000).AddMilliseconds(TimeStamps);//效果同上
                return date;
            }
  • 相关阅读:
    BZOJ 2055 80人环游世界 有上下界最小费用可行流
    BZOJ 2406 LuoguP4194 矩阵 有上下界可行流
    BZOJ4873 LuoguP3749 寿司餐厅
    51nod 1551 集合交易 最大权闭合子图
    BZOJ 1565 植物大战僵尸 最大权闭合子图+网络流
    [CodeForces]460C Present
    [BZOJ5072] 小A的树
    [TJOI2015]组合数学
    [HNOI2006]鬼谷子的钱袋
    [IOI2007]矿工配餐
  • 原文地址:https://www.cnblogs.com/xianyv/p/11556161.html
Copyright © 2020-2023  润新知