Как начать (00:00:00) и завершить (23:59:59) сегодня в timestamp (GMT)? Компьютер использует локальное время.
Как начать и завершить день в Javascript?
Ответ 1
var start = new Date();
start.setHours(0,0,0,0);
var end = new Date();
end.setHours(23,59,59,999);
alert( start.toUTCString() + ':' + end.toUTCString() );
Если вам нужно получить время UTC от них, вы можете использовать UTC()
.
Ответ 2
Используя библиотеку momentjs, это может быть достигнуто с помощью startOf()
и endOf()
в текущий момент, передавая строку 'day'
в качестве аргументов:
Местный GMT:
var start = moment().startOf('day'); // set to 12:00 am today
var end = moment().endOf('day'); // set to 23:59 pm today
var start = moment.utc().startOf('day');
var end = moment.utc().endOf('day');
Ответ 3
Используя библиотеку luxon.js, то же самое можно достичь с помощью методов startOf и endOf, передав "день", как параметр
var DateTime = luxon.DateTime;
DateTime.local().startOf('day').toUTC().toISO(); //2017-11-16T18:30:00.000Z
DateTime.local().endOf('day').toUTC().toISO(); //2017-11-17T18:29:59.999Z
DateTime.fromISO(new Date().toISOString()).startOf('day').toUTC().toISO(); //2017-11-16T18:30:00.000Z
удалить .toUTC(), если вам нужно только локальное время
и вы можете спросить, почему не moment.js, ответ здесь для этого.
Ответ 4
Я предпочитаю использовать date-fns библиотеку для обработки даты. Это действительно отличный модульный и последовательный инструмент. Вы можете начать и завершить день следующим образом:
var startOfDay = dateFns.startOfDay;
var endOfDay = dateFns.endOfDay;
console.log('start of day ==> ', startOfDay(new Date('2015-11-11')));
console.log('end of day ==> ', endOfDay(new Date('2015-11-11')));
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js"></script>
Ответ 5
function getTime(zone, success) {
var url = 'http://json-time.appspot.com/time.json?tz=' + zone,
ud = 'json' + (+new Date());
window[ud]= function(o){
success && success(new Date(o.datetime));
};
document.getElementsByTagName('head')[0].appendChild((function(){
var s = document.createElement('script');
s.type = 'text/javascript';
s.src = url + '&callback=' + ud;
return s;
})());
}
getTime('GMT', function(time){
// This is where you do whatever you want with the time:
alert(time);
});