如何使用 "start of week" 和 "end of week" 格式字符串

How to have a format string with "start of week" and "end of week"

我想获取一个日期对象并将其格式化,以便输出结果如下所示:

2015: 23 - 30 July

格式字符串应该是这样的:

YYYY: ii - jj MMMM

但是我为 iijj 输入了什么? ii 应该计算为本周开始的那一天,jj 应该计算为本周结束的那一天。

我当前的代码:

console.log(moment().format('YYYY: ii - jj MMMM'));

为什么不连接两个字符串?

moment().startOf('isoweek').format('YYYY: DD') + ' - ' + moment().endOf('isoweek').format('DD MMMM')

<htm>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js">
  </script>
  <script>
    document.write(moment().startOf('isoweek').format('YYYY: DD') + ' - ' + moment().endOf('isoweek').format('DD MMMM'));
  </script>
</htm>

function getWeekRange(date) {
    return moment(date).format('YYYY') + ': ' + moment(date).startOf('week').format('D') + ' - ' + moment().endOf('week').format('D MMMM');
}
getWeekRange(new Date());