如何使用特定字符串格式“last ...”获得带有moment.js的UNIX时间?

时间:2016-10-17 04:18:07

标签: angularjs unix momentjs angular-moment

在PHP中,可以说:

$unixTimeOfLastSunday = strtotime("last Sunday");

这等同于:1465714800

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

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

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);

});

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

2 个答案:

答案 0 :(得分:1)

我建议使用moment.js。您可以合并http://momentjs.com/docs/#/displaying/calendar-time/http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

编辑:显然,momentjs非常棒,一切皆有可能 - 如果您探索丰富的API,那就很容易了。答案只是moment().day("Sunday").unix()

如果你问我,很漂亮! :)相关的documentation

答案 1 :(得分:0)

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

为了获得前一周的星期日,这有效:

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

为了获得本周的星期日:

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

要在午夜时分获得这一天的Unix时间:

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