Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从日期字符串获取时间_Javascript_Date_Time - Fatal编程技术网

Javascript 从日期字符串获取时间

Javascript 从日期字符串获取时间,javascript,date,time,Javascript,Date,Time,如何使用JavaScript从日期字符串获取时间 我的日期字符串如下:2013-04-08T10:28:43Z 如何将时间拆分为小时和分钟格式。我想用以下方式显示活动流: xxx已在2小时前更新 yyy已经在3分钟前更新了这就是所谓的ISO字符串。有一些实用程序可以将ISO字符串解析为常规JavaScript日期,比如Dojo var date = dojo.date.stamp.fromISOString("2013-04-08T10:28:43Z"); 简单的Javascript就足够了:

如何使用JavaScript从日期字符串获取时间

我的日期字符串如下:2013-04-08T10:28:43Z

如何将时间拆分为小时和分钟格式。我想用以下方式显示活动流:

xxx已在2小时前更新

yyy已经在3分钟前更新了这就是所谓的ISO字符串。有一些实用程序可以将ISO字符串解析为常规JavaScript日期,比如Dojo

var date = dojo.date.stamp.fromISOString("2013-04-08T10:28:43Z");

简单的Javascript就足够了: Date.parse将把字符串转换为时间戳:

var date_string = '2013-04-08T10:28:43Z';

var your_date_object = new Date();
your_date_object.setTime(Date.parse( date_string ));

var min = your_date_object.getUTCMinutes();
var hour = your_date_object.getUTCHours();

只需创建新的日期对象:

var myDate = new Date("2013-04-08T10:28:43Z");

var minutes = myDate.getMinutes();
var hours = myDate.getHours();

从日期字符串中提取日期

首先使用

var sp = dateString.match(/\d+/g)
然后,您可以构建日期对象或跳过此步骤

var dateObject = new Date(+sp[0], +sp[1]-1, +sp[2], +sp[3], +sp[4], +sp[5])
并在此日期对象上调用
getHours
getMinutes

如果您跳过此步骤,则直接获取
+sp[3]
数小时,获取
+sp[4]
数分钟。


计算差异

由于您似乎必须与现在进行比较,您将通过以下方式获得时差:

var timeDifference = new Date(new Date - dateObject);
然后在
timeDifference
上调用
getHours
getMinutes

var curr_date = new Date();
var test_date = new Date("2016-01-08 10:55:43");

hours_diff=Math.abs(test_date.getHours()-curr_date.getHours());
minutes_diff=Math.abs(test_date.getHours()*60+test_date.getMinutes()-curr_date.getHours()*60-curr_date.getMinutes());
console.log("xxx has updated "+hours_diff+" hours ago");
console.log("xxx has updated "+minutes_diff+" minutes ago"); //not so beautiful

///STILL IF THE date is a string and !!NOT CREATED with DATE 
/// "Get the time from a date string" might have this solution

var date = "2016-01-08 10:55:43";
var hours = date.slice(-8);

console.log("hours and minutes string is "+hours);

你可以看看这个-tutorial-JavaScript日期对象引用可能的重复,为什么会被否决?JavaScript支持ISO 8601开箱即用格式。是的,这是完全正确的。另外,var seconds=myDate.getSeconds();