C# 转换时间戳 有更新!

  |   0 评论   |   135 浏览

    今天在做一个功能时,发现要用到时间戳来表示时间。比如:1370838759 表示 2013年6月10日 12:32:39 。所以,这里就需要一个工具,方便的转换这种时间格式。


    什么是时间戳?

    时间戳, 又叫Unix Stamp. 从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

    C# 时间戳转换为普通时间

    // 时间戳转为C#格式时间
    private DateTime StampToDateTime(string timeStamp)
    {
    DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
    long lTime = long.Parse(timeStamp + “0000000”);
    TimeSpan toNow = new TimeSpan(lTime);
    return dateTimeStart.Add(toNow);
    }

    // DateTime时间格式转换为Unix时间戳格式
    private int DateTimeToStamp(System.DateTime time)
    {
    System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
    return (int)(time - startTime).TotalSeconds;
    }

    对应的JS代码转换时间戳为:

    //当前时间对应的时间戳
    var timeNow = parseInt(new Date().getTime() / 1000);

    //或指定时间对应的时间戳
    ddd = ddd.replace(/-/g, “/”);
    var publishTime = parseInt(Date.parse(ddd) / 1000);

    如需转载文章,但请加入文章作者和出处。谢谢。

    评论

    发表评论

    validate