Date 날짜 객체
JavaScript에서 Date 객체는 날짜와 시간을 나타내는 데 사용됩니다.
현재 시스템 시간을 얻으려면 다음을 사용하세요.
var now = new Date(); now; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST) now.getFullYear(); // 2015, 年份 now.getMonth(); // 5, 月份,注意月份范围是0~11,5表示六月 now.getDate(); // 24, 表示24号 now.getDay(); // 3, 表示星期三 now.getHours(); // 19, 24小时制 now.getMinutes(); // 49, 分钟 now.getSeconds(); // 22, 秒 now.getMilliseconds(); // 875, 毫秒数 now.getTime(); // 1435146562875, 以number形式表示的时间戳
현재 시간은 브라우저가 기본 운영 체제에서 얻은 시간이므로 사용자가 시간을 확인할 수 있기 때문에 정확하지 않을 수 있습니다. 어떤 값에든 현재 시간을 설정합니다.
날짜와 시간을 지정하는 Date 객체를 생성하려면 다음을 사용할 수 있습니다.
var d = new Date(2015, 5, 19, 20, 15, 30, 123); d; // Fri Jun 19 2015 20:15:30 GMT+0800 (CST)
매우 까다로운 점, 즉 월 범위를 관찰했을 수 있습니다. JavaScript는 0~11의 정수로 표현되며, 0은 1월, 1은 2월을 의미하므로 6월을 표현하려면 5를 전달합니다! 이는 확실히 당시 JavaScript 설계자들이 염두에 두고 있던 문제였지만 지금은 이를 고치는 것이 불가능합니다.
지정된 날짜와 시간을 생성하는 두 번째 방법은 ISO 8601 형식을 준수하는 문자열을 구문 분석하는 것입니다.
var d = Date.parse('2015-06-24T19:49:22.875+08:00'); d; // 1435146562875
그러나 이는 Date 객체가 아닌 타임스탬프를 반환합니다. 그러나 타임스탬프가 있는 날짜로 쉽게 변환할 수 있습니다.
var d = new Date(1435146562875); d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
<html> <body> <script type="text/javascript"> var d=new Date(); document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒"); </script> </body> </html>
Time Zone
Date 객체가 나타내는 시간은 항상 시간대에 따라 표시됩니다. 하지만 현지 시간과 조정된 UTC 시간을 모두 표시할 수 있습니다.
var d = new Date(1435146562875); d.toLocaleString(); // '2015/6/24 下午7:49:22',本地时间(北京时区+8:00),显示的字符串与操作系统设定的格式有关 d.toUTCString(); // 'Wed, 24 Jun 2015 11:49:22 GMT',UTC时间,与本地时间相差8小时
그렇다면 JavaScript에서 시간대 변환을 수행하는 방법은 무엇일까요? 실제로 유형 번호의 타임스탬프를 전달하는 한 시간대 변환에 신경 쓸 필요가 없습니다. 모든 브라우저는 타임스탬프를 현지 시간으로 올바르게 변환할 수 있습니다.
타임스탬프란 무엇인가요? 타임스탬프는 1970년 1월 1일 0시 GMT 시간대부터 현재까지의 밀리초 수를 나타내는 자체 증가 정수입니다. 브라우저가 위치한 컴퓨터의 시간이 정확하다고 가정하면 전 세계 어느 시간대의 컴퓨터에서 생성되는 타임스탬프 번호는 이 순간에도 동일할 것입니다. 따라서 타임스탬프는 순간을 정확하게 나타낼 수 있으며 아무런 관련이 없습니다. 시간대와 함께.
따라서 타임스탬프를 전달하거나 데이터베이스에서 타임스탬프를 읽고 JavaScript가 자동으로 현지 시간으로 변환하도록 하면 됩니다.
현재 타임스탬프를 얻으려면 다음을 사용하세요:
if (Date.now) { alert(Date.now()); // 老版本IE没有now()方法 } else { alert(new Date().getTime()); }
<html> <body> <script type="text/javascript"> var d=new Date() var weekday=new Array(7) weekday[0]="星期日" weekday[1]="星期一" weekday[2]="星期二" weekday[3]="星期三" weekday[4]="星期四" weekday[5]="星期五" weekday[6]="星期六" document.write("今天是" + weekday[d.getDay()]) </script> </body> </html>