Moment.js语言环境,格式输出数组

时间:2017-03-16 23:36:33

标签: javascript arrays date datetime momentjs

我尝试使用moment.js显示这两周的日子。

我使用法语区域设置来显示这样的日子:

  • lundi 13/3 // moment.js format =' dddd D / M'。 Lundi =法语星期一
  • mardi 14/3

使用

设置head.js语言环境后
<script>
  moment.locale('fr');
</script>

下面的函数使用正确的日期构建了一个数组(在法国语言环境中设置的星期一开始),但是我没有以我想要的格式成功显示这些日子。

function thisFortnight() {

    var startFortnight = moment().startOf('week');
    var endFortnight = startFortnight.clone().add(13, 'd');

    var days = []
    var day = startFortnight;

    while (day <= endFortnight) {
        days.push(day.toDate());
        day = day.clone().add(1, 'd');
    }

    var eDisplayMoment = document.getElementById('Fortnight');
    eDisplayMoment.innerHTML = days;

}

输出:

2017年3月13日星期一00:00:00 GMT + 0100(CET),2017年3月14日星期二00:00:00 GMT + 0100(CET),2017年3月15日星期三00:00:00 GMT + 0100(CET) ,2017年3月16日星期五00:00:00 GMT + 0100(CET),2017年3月17日星期五00:00:00 GMT + 0100(CET),2017年3月18日星期六00:00:00 GMT + 0100(CET),Sun 2017年3月19日00:00:00 GMT + 0100(CET),2017年3月20日00:00:00 GMT + 0100(CET),2017年3月21日星期二00:00:00 GMT + 0100(CET),3月22日星期三2017 00:00:00 GMT + 0100(CET),2017年3月23日星期四00:00:00 GMT + 0100(CET),2017年3月24日星期五00:00:00 GMT + 0100(CET),2017年3月25日星期六00 :00:00 GMT + 0100(CET),2017年3月26日00:00:00 GMT + 0100(CET)

它应该是: lundi 13/3,mardi 14/3,mercredi 15/3等。

我用.format(&#39; dddd D / M&#39;)尝试了很多解决方案,但没有成功。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

day.toDate()返回本机JS日期,您希望使用时刻对象,因此请使用day.format('dddd D/M')

e.g。

&#13;
&#13;
var d = new moment();
console.log(d.format('dddd D/M'))

function thisFortnight() {

    var startFortnight = moment().startOf('week');
    var endFortnight = startFortnight.clone().add(13, 'd');

    var days = []
    var day = startFortnight;

    while (day <= endFortnight) {
        days.push(day.format('dddd D/M'));
        day = day.clone().add(1, 'd');
    }

    var eDisplayMoment = document.getElementById('Fortnight');
    eDisplayMoment.innerHTML = days.join('<br>');

}

window.onload = thisFortnight;
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/locale/fr.js"></script>

<div id="Fortnight"></div>
&#13;
&#13;
&#13;