在 javascript 中格式化日期字符串
Format a date string in javascript
你好,我有这样的 iso 格式字符串类型的日期字段:
const date = "2017-06-10T16:08:00: 我想以某种方式以如下格式编辑字符串:10-06-2017 但我正在努力实现这一目标。
我在 "T" 字符
之后剪切了子字符串
使用 Moment.js 和 .format
函数。
moment('2017-06-10T16:08:00').format('MM/DD/YYYY');
会输出
06/10/2017
除了format
功能外Moment.js会丰富你更多有用的功能。
我建议用moment js找 - http://momentjs.com/docs/
并像
一样使用它
moment(date.toString()).format("MM/DD/YYYY")
不用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
您可以使用 JavaScript date() 内置函数来获取您想要的部分 date/time。
例如显示时间为10:30:
<script>
var date = new Date();
var min = date.getMinutes();
var hour = date.getHour();
document.write(hour+":"+min);
</script>
获取年、月、日、星期使用
getFullYear();
getMonth();
getDate();
getDay();
要获取您发布的日期:
如果日期字符串一直是ISO格式,你也可以在没有其他库的情况下使用正则表达式重新格式化:
date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '--')
使用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"));
如果你想在 vanilla 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}`)
你好,我有这样的 iso 格式字符串类型的日期字段: const date = "2017-06-10T16:08:00: 我想以某种方式以如下格式编辑字符串:10-06-2017 但我正在努力实现这一目标。 我在 "T" 字符
之后剪切了子字符串使用 Moment.js 和 .format
函数。
moment('2017-06-10T16:08:00').format('MM/DD/YYYY');
会输出
06/10/2017
除了format
功能外Moment.js会丰富你更多有用的功能。
我建议用moment js找 - http://momentjs.com/docs/
并像
一样使用它 moment(date.toString()).format("MM/DD/YYYY")
不用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
您可以使用 JavaScript date() 内置函数来获取您想要的部分 date/time。 例如显示时间为10:30:
<script>
var date = new Date();
var min = date.getMinutes();
var hour = date.getHour();
document.write(hour+":"+min);
</script>
获取年、月、日、星期使用
getFullYear();
getMonth();
getDate();
getDay();
要获取您发布的日期:
如果日期字符串一直是ISO格式,你也可以在没有其他库的情况下使用正则表达式重新格式化:
date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '--')
使用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"));
如果你想在 vanilla 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}`)