如何使用特定字符串格式 "last ..." 使用 moment.js 获取 UNIX 时间?

How to get UNIX time with moment.js with particular string format "last ..."?

在PHP中,可以说:

$unixTimeOfLastSunday = strtotime("last Sunday");

相当于这样的东西:1465714800

如何在 Javascript 或 AngularJS 中完成同样的事情?

编辑 - 我现在使用 moment.js 作为 angular 库。这是我的控制器:

myApp.controller('myController', ['$scope', 'moment', function ($scope, moment) {

    moment.updateLocale('en', {
        meridiem: {
            am: 'am',
            AM: 'AM',
            pm: 'pm',
            PM: 'PM'
        }
    });

    var sunday = moment().calendar("Last Sunday at 12:00 AM");
    var sundayUnix = moment(sunday).unix();
    console.log(sundayUnix);

});

但由于某种原因,控制台总是在今天吐出,而不是星期天。

我建议使用 moment.js. You can combine http://momentjs.com/docs/#/displaying/calendar-time/ and http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

编辑:显然,momentjs 真的很棒,一切皆有可能 - 而且很容易,如果你探索丰富 API。答案很简单 moment().day("Sunday").unix().

你问我就美! :) 相关 documentation.

使用 moment.js: https://momentjs.com/

为了获得前一周的星期日,此方法有效:

var sunday = moment().day(-7);

为了获取当前周的星期日:

var sunday = moment().day(0);

获取当天午夜的 Unix 时间:

var sundayMidnight = moment().day(0).startOf('day').unix();