将日期“ 2020年8月18日星期二12:30:44 GMT + 0530”转换为“日期2000年8月18日12:30:44 GMT + 05:30”

时间:2020-08-18 07:04:23

标签: javascript html date datetime momentjs

我正在使用new Date()获取当前日期和时间,并将其添加为div标签的文本内容。

有效代码段:

const currentDateTime = new Date();
document.getElementById('demo').textContent = currentDateTime;
<div id="demo">
</div>

它工作正常,但是我需要更改日期格式。

发件人:

Tue Aug 18 2020 12:30:44 GMT+0530 (India Standard Time)

收件人:

Tue Aug 18 2020 12:30:44 GMT+05:30 (India Standard Time)
需要为gmt添加

冒号(

GMT+05:30

在实际应用程序中,我使用的是矩js,并使用moment()获取当前日期和时间。因此,当下js解决方案也将对我有所帮助。

2 个答案:

答案 0 :(得分:3)

我们可以使用moment.js使用“ Z”格式令牌以+ -HH:mm格式指示UTC偏移量。我们还可以在格式字符串中将GMT文字包含为[GMT]。已记录here

我在这里使用moment.tz来强制将时区设置为+5:30,但是假设它是您的本地时间,您只需执行moment()即可!

例如:

let m = moment.tz("Asia/Kolkata");
console.log(m.format("ddd MMM DD YYYY HH:mm:ss [GMT]Z"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.25/moment-timezone-with-data-10-year-range.js"></script>

答案 1 :(得分:1)

由于:的索引在您的情况下始终相同,因此可以使用以下方法:

const text = 'Tue Aug 18 2020 12:30:44 GMT+0530 (India Standard Time)'
let textArr = text.split('')
textArr.splice(31, 0, ":")
const newText = textArr.join('')

相关问题