在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);
});
但由于某种原因,控制台总是吐出今天,而不是星期天。
答案 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();