답변:
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().
setUTCHours대신에 setHours를 사용 하는 것이 좋습니다
setHoursUTC 시간 대신 현지 시간을 설정하므로 사용하는 것이 위험합니다.
momentjs 라이브러리를 사용하면 순간의 현재 날짜 객체 에서 startOf()and 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');
.toDate()날짜를 얻기 위해 결국 사용해야 합니다. var end = moment().endOf('day').toDate();
.unix()초 유닉스 타임 스탬프를 얻기 위해 말 : 같은 :moment().startOf('day').unix()
moment(new Date()).endOf("day");하지 않습니다 moment().endOf("day");.
moment-timezone하고 수행 할 수 있습니다 moment().tz('America/Chicago').startOf('day').toDate()..
은 Using luxon.js의 라이브러리를 동일한 파라미터로 '일'을 통과하여 startOf! 로베르토 및 방법을 사용하여 달성 될 수있다
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가 , 대답이 여기에 해당합니다.
에서 MomentJs 우리는 그것을 같이 선언 할 수 있습니다 :
const start = moment().format('YYYY-MM-DD 00:00:01');
const end = moment().format('YYYY-MM-DD 23:59:59');
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
참고 (Tvanfosson의 병합 버전)
함수를 호출 할 때 실제 날짜 => 날짜를 반환합니다.
export const today = {
iso: {
start: () => new Date(new Date().setHours(0, 0, 0, 0)).toISOString(),
now: () => new Date().toISOString(),
end: () => new Date(new Date().setHours(23, 59, 59, 999)).toISOString()
},
local: {
start: () => new Date(new Date(new Date().setHours(0, 0, 0, 0)).toString().split('GMT')[0] + ' UTC').toISOString(),
now: () => new Date(new Date().toString().split('GMT')[0] + ' UTC').toISOString(),
end: () => new Date(new Date(new Date().setHours(23, 59, 59, 999)).toString().split('GMT')[0] + ' UTC').toISOString()
}
}
// 사용하는 방법
today.local.now(); //"2018-09-07T01:48:48.000Z" BAKU +04:00
today.iso.now(); // "2018-09-06T21:49:00.304Z" *
* 지역에 따라 현지 시간을 자동으로 변환하는 Java8의 Instant time 유형에 적용 가능합니다 (글로벌 앱 작성을 계획중인 경우).
날짜 조작에 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>
var end = new Date(start.getTime());시작 시점과 종료 시점 사이의 날짜를 변경하는 경우 동일한 시점을 갖도록하는 것이 좋습니다. 시작하는 것이 좋습니다