如何使用 JavaScript 获取格式化的日期时间,如 21032018041217PM



当我使用new Date时,我得到如下内容:

Wed Mar 21 2018 16:14:50 GMT+0530 (India Standard Time)

但我想要的是 xxxxxxxxxxxxxxxx/( 21032018041217PM ( 格式的时间字符串

这里(21032018041217PM(是21是date, 03-month, 2018-year, 04-time, 12-minutes, 17-seconds,应该是AM/PM

您可以使用

Moment.js来实现所需的格式:

console.log( moment().format('DDMMYYYYhhmmssA') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>

var date = new Date();
var dateFormat =  (date.getDate().toString().length == 1? "0":'' ) + date.getDate() + (date.getMonth().toString().length == 1? "0":'' ) + date.getMonth() + "" + date.getFullYear()
var hours = ((date.getHours()%12).toString().length == 1?'0':'') + "" + (date.getHours()%12);
var minuts = ((date.getMinutes()).toString().length == 1?'0':'') + "" + (date.getMinutes());
var seconds = ((date.getSeconds()).toString().length == 1?'0':'') + "" + (date.getSeconds());
var format = (date.getHours() >= 12 && date.getHours()%12 != 0) ? 'PM':'AM'
var yourDate = dateFormat + hours + minuts + seconds + format

您可以使用momentjs库轻松处理此问题。文档在这里非常详细:https://momentjs.com/docs/#/displaying/

它将允许您以任何您想要的方式处理日期格式。

您可以从这里下载:https://momentjs.com/

不使用momentJS库:

要将当前日期和时间转换为 UNIX 时间戳,请执行以下操作:

var ts = Math.round((new Date()).getTime() / 1000);

getTime(( 从 UNIX 纪元返回毫秒,因此将其除以 1000 得到秒表示形式。它使用 Math.round(( 四舍五入以使其成为整数。"ts"变量现在具有与用户 Web 浏览器相关的当前日期和时间的 UNIX 时间戳。

你也可以看看这里:如何在 JavaScript 中获取时间戳?

我建议时刻.js否则您可以进行字符串连接并小心计算月份是 0-11,这意味着 3 实际上可能是 04 而不是 03。

我这样使用,

date.getDate()+""+(date.getMonth() + 1)+""+date.getFullYear()+""+ date.getHours()+""+date.getMinutes() +""+date.getSeconds();

但是这个结果的格式2132018163431我得到的

最新更新