我到处搜索过,但找不到如何执行此操作。我正在使用以下日期时间本地输入类型:
<input type="datetime-local" />
当用户输入值时,其在屏幕上的格式为:
MM / DD / YYYY HH:MM AM / PM
但是,提交表单时,datetime-local值以以下格式显示:
YYYY-MM-DD:THH:MM
我想保持输入时的格式不变。我已经搜索过,但是找不到一个可以获取datetime-local值并将其转换为MM / DD / YYYY HH:MM AM / PM格式并将时间设置为AM / PM的JavaScript。当前时间是军事时间,因此12:59 pm以后的任何时间都会显示13:00。军事时间也如何转换?
答案 0 :(得分:0)
您可以使用此功能
function formatDate(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0'+minutes : minutes;
var year = date.getFullYear();
var month = date.getMonth();
month = month < 10 ? '0'+month : month;
var date = date.getDate();
date = date < 10 ? '0' + date : date;
hours = hours < 10 ? '0' + hours : hours;
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = month + '/' + date + '/' + year + ' ' + hours + ':' + minutes + ' ' + ampm;
return strTime;
}
console.log(formatDate(new Date));
如果您愿意,可以使用moment.js
,因为您可以根据需要进行格式化,但是如果您担心网站的大小,那么该库会很繁重。