Javascript 24小时前的相对时间等作为时间
我试图用海图来显示过去24小时的一些数据。如本例所示,使用x轴的时间时,图表需要开始时间。我不知道如何告诉它在24小时前开始,例如,如果现在的时间是18日晚上22:34,我希望它在17日晚上22:34开始。我不太擅长与时间和日期相关的代码,JavaScript也不是我的强项。 我相信我需要完成的输出如下:Javascript 24小时前的相对时间等作为时间,javascript,datetime,highcharts,Javascript,Datetime,Highcharts,我试图用海图来显示过去24小时的一些数据。如本例所示,使用x轴的时间时,图表需要开始时间。我不知道如何告诉它在24小时前开始,例如,如果现在的时间是18日晚上22:34,我希望它在17日晚上22:34开始。我不太擅长与时间和日期相关的代码,JavaScript也不是我的强项。 我相信我需要完成的输出如下: pointStart:Date.UTC(2012,5,17,22,34) 对于上面的示例,但我不太确定如何从Date()获取它 编辑:我不知道为什么它被标记为一个副本,但我试图得到一个相对于当
pointStart:Date.UTC(2012,5,17,22,34)
对于上面的示例,但我不太确定如何从Date()获取它
编辑:我不知道为什么它被标记为一个副本,但我试图得到一个相对于当前时间的时间(现在是-24小时),而不是一个相对的字符串表示(“24小时前”)。另一个问题也没有提到高图。只需从日期中减去24小时内的毫秒数:
new Date (Date.UTC(2012, 5, 17, 22, 34) - 24 * 3600 * 1000)
您应该使用时间戳,因为您可以使用它们进行计算 这是获取当前时间戳的方式:
Math.round(new Date().getTime()/1000)
请注意,这是计算机的本地时间 现在您可以在24小时前获得时间戳,如下所示:
var ts = Math.round(new Date().getTime() / 1000);
var tsYesterday = ts - (24 * 3600);
请看这把小提琴:
编辑:
正如Nick正确指出的,
Date#getTime
返回UTC时间戳()这实际上相当简单:
var yesterday = new Date(new Date().getTime() - (24 * 60 * 60 * 1000));
只需构造一个新的日期
,当前时间戳的值减去24小时
(24小时乘以每小时60分钟乘以每分钟60秒乘以每秒1000毫秒)24小时前:
新日期(Date.now()-86400*1000).toISOString()
newdate().toISOString()
'2017-02-04T09:15:25.233Z'
Date.now()
86400
秒时间1000
以转换为毫秒'2017-02-03T09:14:11.789Z'
谢谢,我不知道我可以使用时间戳。“请注意,这是计算机本地时间。”答案中的免责声明不正确。。Date#getTime是UTC时间戳,为什么会进行否决表决,此解决方案有什么问题?此解决方案显示的不是相对/当前时间的24小时,而是特定的硬编码时间。。问题是从现在起24小时前。