【发布时间】:2014-03-12 09:46:38
【问题描述】:
我有一个时间格式,例如:2011 年 12 月 16 日下午 3:49:37,我得到了这个格式:
var newDate = new Date(timeFromat);
timeFormat = newDate.toLocaleString();
我的实际格式是格林威治标准时间,我使用上面的代码将其转换为我的鲍尔斯时间。
我想将其更改为 24 小时时间格式,因此我希望将此日期更改为:2011 年 12 月 16 日 15:49:37,并且我想在 javascript 中进行。
我就是这么做的
var firstPartOftimeFormat = timeFormat.substring(0,9);
var secondPartOftimeFormat = timeFormat.substring(10,20);
但是当日期格式如下时它不起作用:3/16/2011。但以下部分有效。
var time = $("#starttime").val();
var hours = Number(secondPartOftimeFormat.match(/^(\d+)/)[1]);
var minutes = Number(secondPartOftimeFormat.match(/:(\d+)/)[1]);
var AMPM = secondPartOftimeFormat.match(/\s(.*)$/)[1];
if(AMPM == "PM" && hours<12) hours = hours+12;
if(AMPM == "AM" && hours==12) hours = hours-12;
var sHours = hours.toString();
var sMinutes = minutes.toString();
if(hours<10) sHours = "0" + sHours;
if(minutes<10) sMinutes = "0" + sMinutes;
alert(sHours + ":" + sMinutes);
您能建议其他方法吗?
谢谢
【问题讨论】:
-
当您需要特定的输出格式时,为什么要使用
toLocaleString(对于不同的语言环境表现不同)?我会在这里使用手动格式。 -
不设置任何时间格式 javascript
Date默认返回时间为24小时。 -
谢谢,但我的时间格式是格林威治标准时间,我通过 var newDate = new Date(timeFromat); 将其转换为我的浏览器时间。 timeFormat = newDate.toLocaleString();时间是过去的时间。
标签: javascript