关于javascript:转换dd/mm/yyyy格式的日期对象hh:mm:ss

Convert date object in dd/mm/yyyy hh:mm:ss format

本问题已经有最佳答案,请猛点这里访问。

我有一个日期时间对象,它的值如下

1
2017-03-16T17:46:53.677

有人能告诉我怎么把这个转换成dd/mm/yyyy hh:mm:ss格式吗我在google上搜索了一个lott,找不到这个特定输入的格式转换。


您可以完全格式化其他文章中提到的字符串。但是我认为你最好在日期对象中使用区域设置函数。

1
2
var d = new Date("2017-03-16T17:46:53.677");
console.log( d.toLocaleString() );

编辑:

iso 8601(您正在构造的格式)声明时区在字符串末尾附加一个[{+|-}hh][:mm]

所以你可以这样做:

1
2
3
4
5
6
7
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

1
2
3
var d = new Date("2017-03-16T17:46:53.677");
console.log(d.toLocaleString("en-US"));
console.log(d.toLocaleString("en-GB"));


我们走到这里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;
}


在普通的JS中,您可以使用.getMonth()、.getYear和.getDate()方法,然后根据需要格式化字符串。

以下是详细信息:

http://www.webdevelopernotes.com/10-ways-to-format-time-and-date-using-javascript