我想寫一個元件,在輸入數字中例如:201705 自動格式化日期格式,最終日期格式為:2017-05 再次輸入06自動格式化2017-05-06
習慣沉默2017-07-05 10:52:15
Edit: 對提出的 case 做簡單轉換:
const date str = '20170523'
const result = new Date()
result.setFullYear(parseInt(str.substr(0, 4)))
result.setMonth(parseInt(str.substr(4, 2)) - 1)
result.setDate(parseInt(str.substr(6, 2)))
// 函数定义见下
getDateFromTimestamp(result.getTime())
一個簡單的實作如下:
// 1495517932472 毫秒级时间戳
const date = new Date().getTime()
function formatMonth (num) {
return [
'01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'
][num]
}
function getDateFromTimestamp (ts) {
const date = new Date(ts)
const YYYY = date.getFullYear()
const MM = formatMonth(date.getMonth())
const DD = date.getDate()
return `${YYYY}-${MM}-${DD}`
}
// 2017-05-23
console.log(getDateFromTimestamp(date))