在我的angular 4应用程序中,我收到的格式如下:
"26-SEP-17 09.20.44.123000 AM"
,我需要将其转换为"Sep 26, 2017 9:20:44 AM"
。所以我使用了 momentjs ,代码如下所示:
var convertedDate = moment("26-SEP-17 09.20.44.123000 AM", 'DD-MMM-YY HH.mm.ss.SSS a').format('MMM d, YYYY h:mm:ss A');
console.log(convertedDate)

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>
&#13;
但我将convertDate改为"Sep 2, 2017 9:20:44 AM"
。我无法理解为什么我将日期改为Sep 2, 2017
而不是Sep 26, 2017
,即使小时,分钟和秒正确到来。
答案 0 :(得分:1)
使用正确的格式DD
代替d
var convertedDate = moment("26-SEP-17 09.20.44.123000 AM", 'DD-MMM-YY HH.mm.ss.SSS a').format('MMM DD, YYYY h:mm:ss A');
console.log(convertedDate)
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>
&#13;
答案 1 :(得分:0)
而不是format('MMM d, YYYY h:mm:ss A')
,
将其format('MMM DD, YYYY h:mm:ss A') //notice the 'd' become 'DD'
您的新代码必须是:
convertedDate = moment("26-SEP-17 09.20.44.123000 AM", 'DD-MMM-YY HH.mm.ss.SSS a').format('MMM DD, YYYY h:mm:ss A');