Hướng dẫn javascript add hours and minutes to date - javascript thêm giờ và phút vào ngày

Sử dụng một thư viện

Nếu bạn đang thực hiện nhiều công việc ngày, bạn có thể muốn xem xét các thư viện ngày JavaScript như DateJS hoặc Moment.js. Ví dụ, với khoảnh khắc.js, điều này chỉ đơn giản là:

var newDateObj = moment(oldDateObj).add(30, 'm').toDate();

Vanilla JavaScript

Đây giống như câu trả lời của Chaos, nhưng trong một dòng:

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);

Trong đó diff là sự khác biệt trong vài phút bạn muốn từ thời gian ____ 10. Nó thậm chí có thể là tiêu cực.

Hoặc là một chức năng có thể tái sử dụng, nếu bạn cần làm điều này ở nhiều nơi:

function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}

Và trong trường hợp điều này không rõ ràng, lý do chúng tôi nhân số phút với

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
1 là để chuyển đổi phút thành mili giây.

Hãy cẩn thận với vani JavaScript. Ngày thật khó!

Bạn có thể nghĩ rằng bạn có thể thêm 24 giờ vào một ngày để có được ngày vào ngày mai, phải không? Sai!

addMinutes(myDate, 60*24); //DO NOT DO THIS

Hóa ra, nếu người dùng quan sát thời gian tiết kiệm ánh sáng ban ngày, một ngày không nhất thiết phải dài 24 giờ. Có một ngày một năm chỉ dài 23 giờ và một ngày một năm dài 25 giờ. Ví dụ, ở hầu hết Hoa Kỳ và Canada, 24 giờ sau nửa đêm, ngày 2 tháng 11 năm 2014, vẫn là ngày 2 tháng 11:

const NOV = 10; //because JS months are off by one...
addMinutes(new Date(2014, NOV, 2), 60*24); //In USA, prints 11pm on Nov 2, not 12am Nov 3!

Đây là lý do tại sao việc sử dụng một trong những thư viện đã nói ở trên là một cược an toàn hơn nếu bạn phải làm nhiều việc với việc này.using one of the afore-mentioned libraries is a safer bet if you have to do a lot of work with this.

Dưới đây là phiên bản chung chung của chức năng này mà tôi đã viết. Tôi vẫn khuyên bạn nên sử dụng thư viện, nhưng điều đó có thể là quá mức cần thiết/không thể cho dự án của bạn. Cú pháp được mô hình hóa sau chức năng MySQL DATE_ADD.

/**
 * Adds time to a date. Modelled after MySQL DATE_ADD function.
 * Example: dateAdd(new Date(), 'minute', 30)  //returns 30 minutes from now.
 * https://stackoverflow.com/a/1214753/18511
 * 
 * @param date  Date to start with
 * @param interval  One of: year, quarter, month, week, day, hour, minute, second
 * @param units  Number of units of the given interval to add.
 */
function dateAdd(date, interval, units) {
  if(!(date instanceof Date))
    return undefined;
  var ret = new Date(date); //don't change original date
  var checkRollover = function() { if(ret.getDate() != date.getDate()) ret.setDate(0);};
  switch(String(interval).toLowerCase()) {
    case 'year'   :  ret.setFullYear(ret.getFullYear() + units); checkRollover();  break;
    case 'quarter':  ret.setMonth(ret.getMonth() + 3*units); checkRollover();  break;
    case 'month'  :  ret.setMonth(ret.getMonth() + units); checkRollover();  break;
    case 'week'   :  ret.setDate(ret.getDate() + 7*units);  break;
    case 'day'    :  ret.setDate(ret.getDate() + units);  break;
    case 'hour'   :  ret.setTime(ret.getTime() + units*3600000);  break;
    case 'minute' :  ret.setTime(ret.getTime() + units*60000);  break;
    case 'second' :  ret.setTime(ret.getTime() + units*1000);  break;
    default       :  ret = undefined;  break;
  }
  return ret;
}

Demo JSfiddle làm việc.

Thêm giờ vào ngày trong JavaScript #

Thêm giờ vào ngày trong JavaScript #

  1. Để thêm giờ vào một ngày trong JavaScript:
  2. Sử dụng phương pháp
    var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
    
    2 để có được số mili giây kể từ kỷ nguyên Unix.

Copied!

function addHours(numOfHours, date = new Date()) { date.setTime(date.getTime() + numOfHours * 60 * 60 * 1000); return date; } // 👇️ Add 1 hour to current date const result = addHours(1); // 👇️ Add 2 hours to another date const date = new Date('2022-03-14T09:25:30.820'); // 👇️ Mon Mar 14 2022 11:25:30 console.log(addHours(2, date));

Sử dụng phương pháp

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
3, chuyển kết quả của việc gọi
var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
4 cộng với số giờ được chuyển đổi thành mili giây.

Chúng tôi đã tạo một hàm có thể tái sử dụng mất số giờ và đối tượng

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5 và thêm giờ vào ngày.

Hàm sử dụng ngày hiện tại nếu không có đối tượng

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5 được cung cấp.

Phương pháp GetTime trả về số mili giây trôi qua trong khoảng thời gian từ ngày 1 tháng 1 năm 1970 00:00:00 và ngày nhất định.

Chúng tôi đã nhân số giờ với

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
7 vì chúng tôi cần chuyển đổi giá trị thành mili giây, khi chuyển nó sang phương thức setTime.

Phương pháp

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
3 lấy một số đại diện cho mili giây kể từ ngày 1 tháng 1 năm 1970 và đặt giá trị vào ngày.

Copied!

const date = new Date('2022-03-14T23:25:30.820'); const numOfHours = 10; date.setTime(date.getTime() + numOfHours * 60 * 60 * 1000); // 👇️ Tue Mar 15 2022 09:25:30 console.log(date);

Cách tiếp cận này tự động chăm sóc kịch bản trong đó việc thêm X giờ đẩy chúng ta vào ngày hôm sau, tháng hoặc năm.

Thêm

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
9 giờ vào ngày đã thay đổi thành công ngày trong tháng thành
function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}
0.

Copied!

function addHours(numOfHours, date = new Date()) { const dateCopy = new Date(date.getTime()); dateCopy.setTime(dateCopy.getTime() + numOfHours * 60 * 60 * 1000); return dateCopy; } // 👇️ Add 2 hours to another date const date = new Date('2022-03-14T09:25:30.820'); const result = addHours(2, date); console.log(result); // 👉️ Mon Mar 14 2022 11:25:30 console.log(date); // 👉️ Mon Mar 14 2022 09:25:30 (didn't change original)

Phương pháp

function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}
1 làm biến đổi đối tượng
var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5 mà nó đã được gọi. Nếu bạn không muốn thay đổi
var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5 tại chỗ, hãy tạo một bản sao trước khi gọi phương thức.

Chúng tôi đã sử dụng phương pháp

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
4 để có được số mili giây trôi qua trong khoảng thời gian từ ngày 1 tháng 1 năm 1970 00:00:00 và ngày nhất định.

Chúng tôi đã chuyển dấu thời gian cho hàm tạo

function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}
5 để tạo một bản sao của đối tượng
var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5, vì vậy chúng tôi không đột biến nó tại chỗ khi gọi phương thức
function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}
1.

Sao chép ngày khá hữu ích khi bạn phải sử dụng đối tượng

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
5 gốc ở những nơi khác trong mã của bạn.

Nói chung, các đối số chức năng đột biến là một thực tế xấu, vì chuyển cùng một đối số cho cùng một hàm nhiều lần trả về các kết quả khác nhau.

Làm thế nào để thêm một giờ vào một ngày JavaScript?Use the setTime() method, passing it the result of calling getTime plus the hours converted to milliseconds.

Để thêm giờ vào một ngày trong javaScript: sử dụng phương thức setTime (), chuyển kết quả của việc gọi getTime cộng với số giờ được chuyển đổi thành mili giây.

Để thêm giờ vào một ngày trong JavaScript, có 2 phương pháp.Bạn có thể sử dụng phương thức setTime () hoặc sethours ().Sử dụng phương thức setTime (): Phương thức này chấp nhận một tham số: thời gian.Bạn phải vượt qua thời gian này bằng mili giây.use setTime() or setHours() method. Using the setTime() method: This method accepts one parameter: time. You have to pass this time in milliseconds.

Làm thế nào để bạn thêm phút và giờ trong TypeScript?

TypeScript Thêm giờ cho đến ngày trả lời của mã..
hàm addHourStodate (ngày, giờ) {.
Trả về ngày mới (ngày mới (ngày). Sethours (ngày. Gethours () + giờ)) ;.
hàm addHourStodate (ngày: ngày, giờ: số): ngày {.
Trả về ngày mới (ngày mới (ngày). Sethours (ngày. Gethours () + giờ)) ;.

Làm thế nào để bạn tổng hợp thời gian trong JavaScript?

Làm thế nào để tổng hợp vài phút trên các câu trả lời của JavaScript..
hàm hội tụ (giá trị) {.
const sec = parseInt (giá trị, 10);// chuyển đổi giá trị thành số nếu nó là chuỗi ..
Đặt giờ = toán học.....
Đặt phút = toán học.....
Đặt giây = giây - (giờ * 3600) - (phút * 60);// Nhận giây ..
Đặt giây = giây - (giờ * 3600) - (phút * 60); // Nhận giây ..