Как получить время UNIX с помощью moment.js с определенным форматом строки «last…»?

0

В PHP можно сказать:

$unixTimeOfLastSunday = strtotime("last Sunday");

Что бы приравнивалось к такому: 1465714800

Как выполнить одно и то же в Javascript или AngularJS?

EDIT - теперь я использую 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
    Возможный дубликат ближайшего воскресенья до указанной даты с JavaScript
  • 0
    Смотрите документацию моментов . Ищите «Unix Epoch», есть примеры того, как разобрать номер и как получить номер из экземпляра момента.
Показать ещё 1 комментарий
Теги:
momentjs
angular-moment

2 ответа

1
Лучший ответ

Я предлагаю использовать moment.js. Вы можете комбинировать http://momentjs.com/docs/#/displaying/calendar-time/ и http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/.

Edit: По-видимому, momentjs действительно потрясающий, и все возможно - и легко, если вы исследуете богатый API. Ответ - это просто moment().day("Sunday").unix().

Прекрасно, если вы спросите меня! :) Соответствующая документация.

  • 0
    Можете ли вы уточнить, используя пример кода? Я был на этом весь день! Кажется, я не могу найти правильный способ сделать календарь так, чтобы в любой день (понедельник-суббота) он всегда давал мне «последнее воскресенье»
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();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню