【发布时间】:2017-08-09 07:38:46
【问题描述】:
我有一个日期时间对象,它的值如下
2017-03-16T17:46:53.677
谁能告诉我如何将其转换为 dd/mm/yyyy hh:mm:ss 格式 我用谷歌搜索了很多,找不到这个特定输入的格式转换。
【问题讨论】:
-
哇...这些答案太可怕了。讨厌 js。
标签: javascript date datetime
我有一个日期时间对象,它的值如下
2017-03-16T17:46:53.677
谁能告诉我如何将其转换为 dd/mm/yyyy hh:mm:ss 格式 我用谷歌搜索了很多,找不到这个特定输入的格式转换。
【问题讨论】:
标签: javascript date datetime
您可以完全格式化其他帖子中提到的字符串。但我认为您最好在日期对象中使用语言环境函数?
var d = new Date("2017-03-16T17:46:53.677");
console.log( d.toLocaleString() );
编辑:
ISO 8601(您正在构建的格式)表示时区在字符串末尾附加[{+|-}hh][:mm]。
所以你可以这样做:
var tzOffset = "+07:00"
var d = new Date("2017-03-16T17:46:53.677"+ tzOffset);
console.log(d.toLocaleString());
var d = new Date("2017-03-16T17:46:53.677"); // assumes local time.
console.log(d.toLocaleString());
var d = new Date("2017-03-16T17:46:53.677Z"); // UTC time
console.log(d.toLocaleString());
编辑:
让您知道locale 函数以用户语言和位置的方式显示日期和时间。欧洲日期为dd/mm/yyyy,美国日期为mm/dd/yyyy。
var d = new Date("2017-03-16T17:46:53.677");
console.log(d.toLocaleString("en-US"));
console.log(d.toLocaleString("en-GB"));
【讨论】:
mm/dd 而不是 dd/mm。但这是美国阅读日期的正常方式。
我们开始吧:
var today = new Date();
var day = today.getDate() + "";
var month = (today.getMonth() + 1) + "";
var year = today.getFullYear() + "";
var hour = today.getHours() + "";
var minutes = today.getMinutes() + "";
var seconds = today.getSeconds() + "";
day = checkZero(day);
month = checkZero(month);
year = checkZero(year);
hour = checkZero(hour);
minutes = checkZero(minutes);
seconds = checkZero(seconds);
console.log(day + "/" + month + "/" + year + " " + hour + ":" + minutes + ":" + seconds);
function checkZero(data){
if(data.length == 1){
data = "0" + data;
}
return data;
}
【讨论】:
+1 上的today.getMonth() 不正确