Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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转换xml日期和时间_Javascript_Xml_Date_Time_Reformatting - Fatal编程技术网

使用javascript转换xml日期和时间

使用javascript转换xml日期和时间,javascript,xml,date,time,reformatting,Javascript,Xml,Date,Time,Reformatting,我正在从一个股票供给中提取一些信息。上次更新的时间戳如下所示: 2016-02-10 13:32:41 如何将其格式化为: 1:32:41pm 2/10/2016 以下是我的变量声明: time = x[0].getElementsByTagName("LASTDATETIME")[0].childNodes[0].nodeValue; 您可以将字符串转换为有效的javascript日期,然后使用date方法以您想要的方式显示它。例如,要将其转换为javascript日期,请将其拆分为多个

我正在从一个股票供给中提取一些信息。上次更新的时间戳如下所示:

2016-02-10 13:32:41
如何将其格式化为:

1:32:41pm
2/10/2016
以下是我的变量声明:

time = x[0].getElementsByTagName("LASTDATETIME")[0].childNodes[0].nodeValue;

您可以将字符串转换为有效的javascript日期,然后使用date方法以您想要的方式显示它。例如,要将其转换为javascript日期,请将其拆分为多个部分,然后进行组装

var dateAndtime = x[0].getElementsByTagName("LASTDATETIME")[0].childNodes[0].nodeValue;
var date = dateAndtime.split(' ')[0];
var time = dateAndtime.split(' ')[1];
var year = date.split('-')[0];
var month = date.split('-')[1]-1;
var day = date.split('-')[2];
var hour = time.split(':')[0];
var minute = time.split(':')[1];
var second = time.split(':')[2];
var d = new Date(year, month, day, hour, minute, second);

不需要创建日期,只需解析并重新格式化字符串即可。无论如何,您必须解析字符串,不带日期的重新格式化更有效

//2016-02-10 13:32:41=>m/dd/yyyy h:mm:ssap
函数reformatDateString(个){
var b=s.split(/\D/);
var ap=b[3]<12?'am':'pm';
var h=b[3]%12 | | 12;
返回h+':'+b[4]+':'+b[5]+ap+
“\n”++b[1]+'/'+b[2]+'/'+b[0];
}
document.write(重新格式化日期字符串('2016-02-10 13:32:41')。替换('\n','
')) 文件。写(“
”);
document.write(reformatDateString('2016-12-09 03:02:09')。replace('\n','
'))
请注意,2016年10月2日是一种不明确的格式,在大多数地方将被解释为10月2日。最好使用包含月份名称的格式来消除这种歧义。此外,重新格式化字符串可能比将输出格式转换为日期更快、更简单。手动解析字符串是个好主意,但所需代码要少得多。考虑一下答案。