Bắt đầu ngày trong JavaScript
Hãy lấy một đối tượng ngày chứa thời điểm bắt đầu của ngày hiện tại:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
Như bạn đã biết, các tham số của đối tượng Date
có thể được bỏ qua từ cuối. Trong trường hợp này, giờ,
phút và giây sẽ có giá trị là 0.
Hãy bỏ chúng đi:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
Tuy nhiên, không thể bỏ qua ngày, bởi vì nếu
nó bị bỏ qua, nó sẽ nhận giá trị 1, trong khi
chúng ta cần ngày hiện tại. Không thể bỏ qua tháng mà
không bỏ qua năm theo quy tắc hoạt động
của Date.
Cũng không thể bỏ qua đồng thời năm, tháng và ngày -
trong trường hợp này sẽ lấy thời điểm
hiện tại. Tại sao điều này không tốt, vì chúng ta
cần năm hiện tại, tháng hiện tại và ngày hiện tại mà?
Vấn đề là chúng ta cần nửa đêm,
tức là giờ, phút và giây phải có
giá trị 0, còn trong thời điểm hiện tại
chúng sẽ có giá trị hiện tại, không phải nửa đêm.
Xác định có bao nhiêu giờ đã trôi qua giữa thời điểm bắt đầu ngày và thời điểm hiện tại.