如何在时间戳(GMT)中开始(00:00:00)和结束(23:59:59)今天?电脑使用当地时间。
当前回答
我们可以用矩。
// for day start time
moment(moment().startOf('day')).format('HH:mm')
// for day end time
moment(moment().endOf('day')).format('HH:mm')
其他回答
var start = new Date(); start.setUTCHours (0, 0, 0, 0); var end = new Date(); end.setUTCHours(23日,59,59999); alert(start.toUTCString() + ':' + end.toUTCString());
如果需要从中获取UTC时间,可以使用UTC()。
使用dayjs库,使用startOf和endOf方法,如下所示:
当地格林尼治时间:
const start = dayjs().startOf('day'); // set to 12:00 am today
const end = dayjs().endOf('day'); // set to 23:59 pm today
UTC的:
const utc = require('dayjs/plugin/utc');
dayjs.extend(utc);
const start = dayjs.utc().startOf('day');
const end = dayjs.utc().endOf('day');
使用(已弃用的)momentjs库,这可以通过startOf()和endOf()方法在时刻的当前日期对象上实现,将字符串'day'作为参数传递:
当地格林尼治时间:
var start = moment().startOf('day'); // set to 12:00 am today
var end = moment().endOf('day'); // set to 23:59 pm today
UTC的:
var start = moment.utc().startOf('day');
var end = moment.utc().endOf('day');
// get current time for UTC timezone
const d = new Date();
const year = d.getUTCFullYear();
const month = d.getUTCMonth();
const day = d.getUTCDate();
// set time to begin day UTC
const startTime = Date.UTC(year, month, day, 0, 0, 0, 0);
//set time to end day UTC
const endTime = Date.UTC(year, month, day, 23, 59, 0, 0);
如果您只对GMT的时间戳感兴趣,也可以这样做,它可以方便地适应不同的间隔(小时:1000 * 60 * 60,12小时:1000 * 60 * 60 * 12,等等)。
const interval = 1000 * 60 * 60 * 24; // 24 hours in milliseconds
let startOfDay = Math.floor(Date.now() / interval) * interval;
let endOfDay = startOfDay + interval - 1; // 23:59:59:9999
我更喜欢使用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 " > < /脚本>