如何在javascript中以特定格式转换日期?不使用任何库

时间:2017-08-23 09:01:42

标签: javascript



var options = {timeZone:'Asia/Tokyo'};
var date  = new Date(1502722800000);
date.toString('YYYYMMDD HH:MM');
console.log('formatted date '+date);




o / p - 2017年8月14日星期一20:30:00 GMT + 0530(IST)

但我想要这种日期格式的o / p(' YYYYMMDD HH:MM')为2017/08/14 17:30

4 个答案:

答案 0 :(得分:1)

toString()不接受任何参数,不能像这样使用。我建议使用moment.js

例如:

var formatted = moment(1502722800000).format('YYYY/MM/DD h:mm');
console.log('formatted date '+formatted);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

如果您希望使用时区,还可以添加Moment Timezones

答案 1 :(得分:0)

SurisDziugas是对的,您可以随时创建和格式化日期moment(1502722800000).format('YYYYMMDD HH:MM'); 我实际上已经停止使用JS本地Date对象,moment提供了更好的可能性。

答案 2 :(得分:0)

不使用任何库,这可能是您的长期解决方案。

&#13;
&#13;
<desktop:Extension
    Category="windows.startupTask"
    Executable="MyApp.exe"
    EntryPoint="Windows.FullTrustApplication">
    <desktop:StartupTask
        TaskId="MyStartupTask"
        Enabled="true"
        DisplayName="Some Arbitrary Name" />
</desktop:Extension>
&#13;
&#13;
&#13;

我希望这会有所帮助

答案 3 :(得分:0)

问题是关于JavaScript的特定格式的解决方案,所以没有任何额外的库,会有一个直截了当的答案(以Date.toISOString的垫片样式):

function pad(number) {
    if (number < 10) {
        return '0' + number;
    }
    return number;
}

function toMyDateFormat(s) {
    return this.getUTCFullYear() +
        pad(this.getUTCMonth() + 1) +
        pad(this.getUTCDate()) +
        ' ' + pad(this.getUTCHours()) +
        ':' + pad(this.getUTCMinutes());
};

只是出于好奇,这是我最短的解决方案,没有任何库:

function toMyDateFormat(d) {
    return d.toISOString().replace(/-/g,'').replace('T', ' ').substr(0,14);
}