웹 애플리케이션에서는 드롭다운이나 입력 필드를 통해 사용자로부터 날짜 및 시간 정보를 수집하는 것이 일반적입니다. 그러나 숫자 값으로 JavaScript 날짜 객체를 생성하면 특히 데이터가 직렬화 및 역직렬화될 때 시간대 문제가 발생할 수 있습니다.
다음 코드를 고려하세요.
new Date(xiYear, xiMonth, xiDate);
지정된 연도, 월, 일을 기준으로 Date 객체를 생성하는 코드입니다. 그러나 이는 사용자의 현재 시간대를 가정하므로 애플리케이션이 다른 시간대를 사용하는 경우 불일치가 발생할 수 있습니다.
시간대를 사용하지 않고 특정 시간대에 Date 객체를 생성하려면 문자열 표현을 사용하려면 다음 단계를 따르세요.
다음에서 Date 개체를 만듭니다. UTC 값:
const utcDate = new Date(Date.UTC(xiYear, xiMonth, xiDate));
원하는 시간대 설정:
utcDate.setUTCHours(utcDate.getUTCHours() + timezoneOffset);
timezoneOffset은 어디에 있습니까? 사용자 시간대와 UTC 간의 차이( 시간).
예를 들어, 사용자의 시간대가 GMT 01:00이고 원하는 날짜가 4월 5일인 경우:
const xiYear = 2023; const xiMonth = 3; // April is 0-indexed const xiDate = 5; const timezoneOffset = 1; const utcDate = new Date(Date.UTC(xiYear, xiMonth, xiDate)); utcDate.setUTCHours(utcDate.getUTCHours() + timezoneOffset); console.log(utcDate.toLocaleString()); // Output: "Apr 5, 2023, 2:00:00 AM GMT+01:00"
이 접근 방식은 문자열 표현이나 장황한 코드에 의존하지 않고 원하는 시간대에 날짜 객체가 생성됩니다.
위 내용은 문자열 표현을 사용하지 않고 특정 시간대를 사용하여 JavaScript 날짜 개체를 어떻게 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!