以dd / mm / yyyy hh:mm:ss格式转换日期对象

时间:2017-03-17 16:33:42

标签: javascript date datetime

我有一个datetime对象,其值如下

2017-03-16T17:46:53.677

有人可以告诉我如何将其转换为dd / mm / yyyy hh:mm:ss格式 我用Google搜索了lott,无法找到此特定输入的格式转换。

3 个答案:

答案 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