Hướng dẫn get time gmt javascript
Chúng ta sẽ gặp một đối tượng mới: Date . Nó lưu trữ ngày, giờ và cung cấp các phương thức để quản lý ngày / giờ. Show Nội dung chính
Chẳng hạn, chúng ta có thể sử dụng nó để lưu trữ thời gian tạo / sửa đổi, để đo thời gian hoặc chỉ để in ra ngày hiện tại.
1. Khởi tạo dateĐể tạo một Không có đối số – tạo một đối tượng
Tạo một
Một số nguyên biểu thị số mili giây đã trôi qua kể từ đầu năm 1970 được gọi là dấu thời gian(timestamp). Đó là một đại diện số của một ngày. Chúng ta luôn có thể tạo một ngày từ dấu thời gian(timestamp) bằng cách sử dụng Ngày trước ngày 01.01.1970 có dấu thời gian(timestamp) âm, ví dụ:
Nếu có một đối số duy nhất và đó là một chuỗi, thì nó sẽ được phân tích cú pháp tự động. Thuật toán giống như sử dụng
Tạo ngày với các thành phần nhất định trong múi giờ địa phương. Chỉ có hai đối số đầu tiên là bắt buộc.
Ví dụ:
Độ chính xác tối thiểu là 1 ms (1/1000 giây):
2. Truy cập các thành phần của dateCó các phương thức để truy cập năm, tháng, v.v. từ đối
tượng getFullYear() Lấy ra năm (4 chữ số) getMonth() lấy ra tháng, từ 0 đến 11 . getDate() Lấy ra ngày trong tháng, từ 1 đến 31, tên của phương thức trông hơi lạ. getHgetHours(), getMinutes(), getSeconds(), getMilliseconds() Lấy ra các thành phần thời gian tương ứng. Không có Nhiều công cụ JavaScript thực hiện một phương thức không chuẩn Ngoài ra, chúng ta có thể nhận được một ngày trong tuần: getDay() Lấy ngày trong tuần, từ Tất cả các phương thức trên trả về các thành phần liên quan đến múi giờ địa phương. Ngoài ra còn có các múi giờ UTC, trở lại ngày, tháng, năm, v.v. theo múi giờ
UTC + 0: getUTCFullYear(), getUTCMonth(), getUTCDay(). Chỉ cần chèn Nếu múi giờ địa phương của bạn bị thay đổi so với UTC, thì code bên dưới hiển thị các múi giờ khác nhau:
Bên cạnh các phương thức đã cho, có hai phương thức đặc biệt không có biến thể UTC: getTime() Trả về dấu thời gian cho ngày – một số mili giây được truyền từ ngày 1 tháng 1 năm 1970 UTC + 0. getTimezoneOffset() Trả về sự khác biệt giữa UTC và múi giờ địa phương, tính bằng phút:
3. Cài đặt các thành phần dateCác phương thức sau đây cho phép đặt các thành phần ngày / giờ:
Mỗi cái trên ngoại trừ Như chúng ta có thể thấy, một số phương thức có thể thiết lập nhiều thành phần
cùng một lúc, ví dụ Ví dụ:
Các autocorrection là một tính năng rất tiện dụng của các đối tượng Ví dụ:
Các thành phần ngày ngoài phạm vi của một thàng, ngày, năm, giờ, phút , giây sẽ được phân phối tự động. Giả sử chúng ta cần tăng ngày 28 tháng 2 năm 2016 thêm 2 ngày. Đó có thể là một cuộc hẹn hò của 2
Mar hoặc 1 Mar trong trường hợp một năm nhuận. Chúng ta không cần phải suy nghĩ về nó. Chỉ cần thêm 2 ngày. Đối
Tính năng đó thường được sử dụng để lấy ngày sau khoảng thời gian nhất định. Chẳng hạn, chúng ta hãy lấy ngày sau 70 giây tính từ ngay bây giờ
Chúng ta cũng có thể đặt giá trị 0 hoặc thậm chí âm. Ví dụ:
5. Chuyển ngày thành sốKhi một đối tượng
Tác dụng phụ quan trọng: ngày có thể được trừ, kết quả là sự khác biệt của chúng trong mili giây. Điều đó có thể được sử dụng để đo thời gian:
6. Date.now()Nếu chúng ta chỉ muốn đo thời gian, chúng ta không cần đối tượng Có một phương thức đặc biệt Nó tương đương về mặt ngữ nghĩa Nó được sử dụng chủ yếu để thuận tiện hoặc khi nâng cao hiệu suất hoạt động, như trong các trò chơi trong JavaScript hoặc các ứng dụng chuyên dụng khác. Vì vậy, điều này có lẽ tốt hơn:
7. Hiệu suấtNếu CPU của bạn hạn chế, chúng ta nên cẩn thận. Chẳng hạn, hãy đo hai hàm tính toán sự khác biệt giữa hai ngày: cái nào nhanh hơn? Các phép đo hiệu suất như vậy thường được gọi là điểm chuẩn.
Hai cái này thực hiện chính xác cùng một thứ, nhưng một trong số chúng sử dụng một từ rõ ràng Vậy, cái nào nhanh hơn? Ý tưởng đầu tiên có thể là chạy chúng nhiều lần liên tiếp và đo chênh lệch thời gian. Đối với trường hợp của chúng ta, các hàm rất đơn giản, vì vậy chúng ta phải thực hiện ít nhất 100000 lần. Hãy đo:
Ồ Sử dụng Được rồi, chúng ta có một cái gì đó. Nhưng đó chưa phải là một điểm chuẩn tốt. Hãy tưởng tượng rằng tại thời điểm Một kịch bản khá thực tế cho một hệ điều hành đa tiến trình hiện đại. Do đó, điểm chuẩn đầu tiên sẽ có ít tài nguyên CPU hơn so với lần thứ hai. Điều đó có thể dẫn đến kết quả sai. Để điểm chuẩn đáng tin cậy hơn, toàn bộ gói điểm chuẩn phải được chạy lại nhiều lần. Ví dụ, như thế này:
Các công cụ JavaScript hiện đại bắt đầu áp dụng tối ưu hóa nâng cao cho code thực thi nhiều lần (không cần tối ưu hóa khi được thực thi). Vì vậy, trong ví dụ trên, các lần thực hiện đầu tiên không được tối ưu hóa tốt. Chúng ta có thể muốn thêm một hoạt động tăng nhiệt:
Hãy cẩn thận khi đánh dấu vĩ mô(microbenchmarking) Các công cụ JavaScript hiện đại thực hiện nhiều tối ưu hóa. Họ có thể điều chỉnh kết quả của các bài kiểm tra nhân tạo, so với khi chúng ta sử dụng thông thường, đặc biệt là khi chúng ta điểm chuẩn(kiểm tra hiệu suất) một cái gì đó rất nhỏ, chẳng hạn như cách toán tử làm việc hoặc hàm tích hợp. Vì vậy, nếu bạn nghiêm túc muốn hiểu hiệu suất, thì hãy nghiên cứu cách hoạt động của công cụ JavaScript. Và sau đó bạn có thể sẽ không cần microbenchmark. Các bài tuyệt vời về V8 có thể được tìm thấy tại http://mrale.ph. 8. Tạo ngày với formatPhương thức Date.parse(str) có thể đọc một ngày với format. Định dạng chuỗi phải là :
Biến thể ngắn hơn có thể là Lệnh gọi Ví dụ:
Chúng ta có thể ngay lập tức tạo một đối tượng
9. Tóm lược
Lưu ý rằng không giống như nhiều hệ thống khác, dấu thời gian(timestamp) trong JavaScript tính bằng mili giây chứ không phải tính bằng giây. Đôi khi chúng ta cần đo thời gian chính xác hơn. Bản thân JavaScript không có cách đo thời gian tính bằng micro giây (1 phần triệu giây), nhưng hầu hết các môi trường đều cung cấp nó. Chẳng hạn, trình duyệt cóperformance.now() cung cấp số mili giây từ khi bắt đầu tải trang với độ chính xác micro giây (3 chữ số):
Node.js có Full series tự học Javascript từ cơ bản tới nâng cao tại đây nha. Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
Chào thân ái và quyết thắng! Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you! |