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

时间:2018-03-21 10:47:29

标签: javascript datetime

当我使用新的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

5 个答案:

答案 0 :(得分:2)

您可以使用Moment.js来获得所需的格式:

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

答案 1 :(得分:1)

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

它允许您以任何方式处理日期格式。

您可以从此处下载:https://momentjs.com/

不使用momentJS库:

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

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

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

您还可以在此处查看:How do you get a timestamp in JavaScript?

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我建议moment.js否则你可以做字符串连接和计算小心月份是0-11,这意味着3可能实际上是04而不是03。

答案 4 :(得分:0)

我这样使用,

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

但结果2132018163431的结果是