Получить временную метку недели возвращается NaN - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь получить временную метку недели, начиная с понедельника, похожую на этот сценарий C #:

DateTime now = DateTime.UtcNow;
now = DateTime.UtcNow.StartOfWeek(DayOfWeek.Monday);
int weekday = (int)(now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

Возвращает: 1548633600

При попытке это в JavaScript яполучить ошибку NaN:

var d = new Date();
var w = Date.UTC(thisYear, thisMonth, d.setDate(d.getDate() - (d.getDay() || 7) + 1), 0, 0, 0, 0);
var weekDay = Math.floor(w / 1000);

Не уверен, что я делаю неправильно.Надеемся на помощь: -)

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

var d = new Date();
var day = d.getUTCDay();

var utcTime = Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate() - day + 1);
var weekDay = utcTime / 1000;

console.log(weekDay);
0 голосов
/ 02 февраля 2019

Попробуйте так: это возвращает пятницу, обновите его, чтобы получить понедельник

var t = new Date().getDate() + (6 - new Date().getDay() - 1) - 7 ;
var d = new Date();
d.setDate(t);
var lastFriday = d;
console.log(lastFriday);
...