Maison > Questions et réponses > le corps du texte
Je souhaite écrire un composant qui formate automatiquement la date lors de la saisie de nombres, tel que : 201705. Le format de date final est : 2017-05. Entrez à nouveau 06 pour formater automatiquement le 06/05/2017
.習慣沉默2017-07-05 10:52:15
Edit : Conversion simple du cas proposé :
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())
Une mise en œuvre simple est la suivante :
// 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))
某草草2017-07-05 10:52:15
funtion format_num_to_date(num) {
var str = String(num);
if (str.length === 8) {
var date = str.substr(0,4) + '-' + str.substr(4,2) + '-' + str.substr(6);
return date;
}
}
format_num_to_date(20170523);
怪我咯2017-07-05 10:52:15
//时间格式化
// var time1 = new Date().Format(“yyyy-MM-dd”);
// var time2 = new Date().Format(“yyyy-MM-dd HH:mm:ss”);
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp., (this.getFullYear() + "").substr(4 - RegExp..length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp., (RegExp..length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
伊谢尔伦2017-07-05 10:52:15
let yyyymmdd = (date, sep = '-') => {
return [
date.getFullYear(),
date.getMonth()+1,
date.getDate()
].map(d => d.toString())
.map(d => ('00' + d).slice(d.length >= 4 ? -4 : -2)).join(sep);
}
伊谢尔伦2017-07-05 10:52:15
N'est-ce pas
natif<input type="date" pattern="[0-9]{4}-[0-9]{2}-[0-9]{2}">
mauvais ?