修改本地日期时间输出格式

时间:2019-05-15 09:26:19

标签: javascript html5 datetime datetime-format

我到处搜索过,但找不到如何执行此操作。我正在使用以下日期时间本地输入类型:

<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。军事时间也如何转换?

1 个答案:

答案 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,因为您可以根据需要进行格式化,但是如果您担心网站的大小,那么该库会很繁重。