C#/ Javascript还有什么其他方法可以从数据中解析时间

时间:2019-01-17 18:42:33

标签: javascript c#

我正在研究一种抓取逻辑来抓取https://www.bjs.com/product/lg-65uk6500aua-65%22-4k-uhd-hdr-smart-led-tv-with-white-glove-delivery/3000000000001274761

我在页面的“问答”部分之后。显然,此页面调用https://readservices-b2c.powerreviews.com/m/9794/l/en_US/product/P_169720/questions?sort=Newest&apikey=7c12e7e9-fe30-4e7a-bcb8-8376b9117a6b,它返回json数据。

我正在尝试获取发布的问题的创建日期值(根对象>结果> [0]>详细信息> created_date)。

该字段返回的值为1534593729030。

我试图将其解析为刻度(C#),但日期似乎已关闭(0001年1月)。

页面上的实际日期为2018-08-18T12:02:09.030Z或5个月前。

你们知道1534593729030如何最终成为2018-08-18T12:02:09.030Z吗?谢谢。

2 个答案:

答案 0 :(得分:0)

这是unix时间戳,只是自1970/01/01 00:00:00以来的毫秒数。除以1000得到以秒为单位的Unix时间。

请记住,由于位数的原因,您需要将该数字声明为long

答案 1 :(得分:0)

这是Unix时间戳的版本,以毫秒为单位,后3位是毫秒,因此

  • 1534593729->这是2018年8月18日星期六下午2:02:09.000 GMT + 02:00 DST
  • 1534593729030->因此,2018年8月18日星期六下午2:02:09.030 GMT + 02:00 DST

检查https://currentmillis.com/以获得有关

的更多信息

要进行转换,请使用:

    public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
    {
        System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
        dtDateTime = dtDateTime.AddMilliseconds(unixTimeStamp).ToLocalTime();
        return dtDateTime;
    }