我有以下日期需要转换为'dd/MM/yyyy'
和'HH:mm'
。如何在不使用getHours()
或moment.js
的情况下实现此目的(大多数答案都使用其中任何一种)?
2017-11-24T16:05:00Z
答案 0 :(得分:2)
如果您正在寻找自定义,那么下面的代码将帮助您
var dt='2017-11-24T16:05:00Z'
dtArray=dt.split('T')
dateArray=dtArray[0].split('-') //dtArray[0] manupulating date
result = dateArray.reverse().join('/')
console.log(result) //"24/11/2017"
你对HH:MM
的做法类似time=dtArray[1].split(':').slice(0,2).join(':')
答案 1 :(得分:0)
您可以使用正则表达式组:
var myDate = "2017-11-24T16:05:00Z";
var myRegexp = /(\d\d\d\d)-(\d\d)-(\d\d)/
var match = myRegexp.exec(myDate);
var formattedDate = `${match[3]}/${match[2]}/${match[1]}`
alert(formattedDate);
答案 2 :(得分:0)
第1步 创建新的ISO字符串并在yyyymmdd中提取日期
var data = new Date().toISOString().substring(0, 10);
<强>步骤2 强> 从&#39; - &#39;
分开var date = data.split('-');
第3步 安排你想要的方式
var newDate = date[2] +'-'+ date[1] +'-'+ date[0]
与HH相同:mm
new Date().toISOString().substring(11, 16);
答案 3 :(得分:-1)
您可以使用date-fns
js库来执行此操作。
import {format} from 'date-fns';
const date = format(new Date(), 'DD/MM/YYYY');
const time = format(new Date(), 'HH:mm');
console.log(date) => 30/11/2017
console.log(time) => 11:17