我有一个datetime对象,其值如下
2017-03-16T17:46:53.677
有人可以告诉我如何将其转换为dd / mm / yyyy hh:mm:ss格式 我用Google搜索了lott,无法找到此特定输入的格式转换。
答案 0 :(得分:12)
您可以完全格式化其他帖子中提到的字符串。但我认为你最好在日期对象中使用语言环境功能?
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"));
答案 1 :(得分:4)
我们走了:
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);
mintues = 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;
}

答案 2 :(得分:0)
在vanilla js中,您可以使用.getMonth(),. getYear和.getDate()方法,然后根据需要格式化字符串。
以下是更多信息:
http://www.webdevelopersnotes.com/10-ways-to-format-time-and-date-using-javascript