你好,每个我都有类型字符串的日期字段,iso格式如下: const date =" 2017-06-10T16:08:00:我想以某种方式编辑以下格式的字符串,如下所示:10-06-2017但我正在努力实现这一目标。 我在" T"之后切断了子串。字符
答案 0 :(得分:11)
使用Moment.js和.format
功能。
moment('2017-06-10T16:08:00').format('MM/DD/YYYY');
将输出
06/10/2017
在format
函数Moment.js旁边,您将获得更多有用的功能。
答案 1 :(得分:8)
可以在没有moment.js的情况下实现,但我建议你使用它
var date = new Date("2017-06-10T16:08:00");
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
if (day < 10) {
day = '0' + day;
}
if (month < 10) {
month = '0' + month;
}
var formattedDate = day + '-' + month + '-' + year
答案 2 :(得分:2)
如果日期字符串始终为ISO格式,您还可以使用正则表达式重新格式化而不使用其他库:
date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '$3-$2-$1')
答案 3 :(得分:1)
答案 4 :(得分:1)
使用Date.toJSON()
function formatDate(userDate) {
// format from M/D/YYYY to YYYYMMDD
return (new Date(userDate).toJSON().slice(0,10).split('-').reverse().join('-'));
}
console.log(formatDate("2017-06-10T16:08:00"));
答案 5 :(得分:0)
您可以使用内置函数中的JavaScript date()来获取所需的部分日期/时间。 例如,显示时间是10:30:
<script>
var date = new Date();
var min = date.getMinutes();
var hour = date.getHour();
document.write(hour+":"+min);
</script>
获取年,月,日,星期几使用
和getFullYear();
得到月();
GETDATE();
getDay();
要获取您发布的日期:
答案 6 :(得分:-1)
如果您希望使用香草javascript来做到这一点,@ Ivan Mladenov的答案很好,可以使用padStart进行合并。
const date = new Date()
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
console.log(`${day}-${month}-${year}`)