Làm cách nào để chuyển đổi chuỗi UTC thành datetime trong JavaScript?

Tôi có khá nhiều vấn đề giống hệt như bạn, tiết kiệm thời gian trong UTC là tốt [điều này được quyết định trong cấu hình apache cho phiên bản TWX của bạn và từ thông tin tôi nhận được khi thảo luận vấn đề này với tài nguyên PTC, không nên thay đổi

Tôi cần gửi giờ địa phương tới hệ thống in nhãn vì việc gửi giờ UTC trong trường hợp đó sẽ không hợp lý lắm

Tôi đã thử điều này chẳng hạn

hãy để văn bản = ngày mới[]. toLocaleString["en-US", {timeZone. "Mỹ/New_York"}];

Nhưng vì bất kỳ lý do gì, chỉ ngôn ngữ "en-US" của toLocaleString dường như hoạt động, timeZone thì không. Điều này có thể là do việc chạy một dịch vụ không giống như khi người dùng chạy một thứ gì đó trong trình duyệt không?

Một cách mà chúng tôi đã giải quyết đó là bù thời gian tính bằng phút như thế này

hãy để DateTimeIn = Ngày mới [];

var myTime = DateTimeIn. getTime[] + tôi. SiteTimeZone * 60000;

// ở đây chúng ta có cùng một vấn đề là chúng ta cần phải bù múi giờ, mà chúng ta đã đặt trong vài phút như "-240" chẳng hạn cho GMT-4[5?]


var DateIn_TZ_Adjusted = new Date[myTime];

var yyyy = DateIn_TZ_Adjusted. getFullYear[];
var mon = String[DateIn_TZ_Adjusted. getMonth[] + 1]. padStart[2, '0'];
var dd = String[DateIn_TZ_Adjusted. hẹn gặp[]]. padStart[2, '0'];
var hh = String[DateIn_TZ_Adjusted. getHours[]]. padStart[2, '0'];
var mm = String[DateIn_TZ_Adjusted. getMinutes[]]. padStart[2, '0'];
var ss = String[DateIn_TZ_Adjusted. getSeconds[]]. padStart[2, '0'];

// Soạn chuỗi đã định dạng
var DateAndTimeFormatted = yyyy + "-" + mon + "-" + dd + "T" + hh + ". " + ừm + ". " + ss;
kết quả = DateAndTimeFormatted;

Phần còn lại thì tôi không chắc lắm, nhưng tôi nghĩ đó chỉ là cách định dạng sau ngôn ngữ en-US

Nếu bất cứ ai có cách khác, chỉ sử dụng thời gian hệ thống [vì máy chủ của chúng tôi là cục bộ], vui lòng cho chúng tôi biết

Điều cần thiết đối với các ứng dụng web là hiển thị thời gian chính xác, đặc biệt là khi xử lý nhiều múi giờ. Đây là lúc chuyển đổi giữa UTC và giờ địa phương xuất hiện. Bài viết này sẽ thảo luận về giờ UTC và giờ địa phương, tại sao cần chuyển đổi giữa hai loại này và cách chuyển đổi giờ UTC sang giờ địa phương và ngược lại bằng Javascript

Hiểu UTC và Giờ địa phương

UTC [Giờ phối hợp quốc tế] là tiêu chuẩn quốc tế về thời gian. Đó là đồng hồ 24 giờ được sử dụng để chấm công quốc tế. UTC dựa trên thời gian của kinh tuyến gốc [kinh độ 0°] và được điều chỉnh để tính đến giây nhuận. UTC được sử dụng để đảm bảo rằng mọi thời gian đều giống nhau, bất kể nó được đo ở đâu trên thế giới. Nó là sự kế thừa của Giờ trung bình Greenwich [GMT]

Giờ địa phương là giờ hiển thị dựa trên múi giờ của người xem. Đó là thời gian được hiển thị ở khu vực địa phương và nó được điều chỉnh để tính đến thời gian tiết kiệm ánh sáng ban ngày. Giờ địa phương được hiển thị liên quan đến UTC và thường được hiển thị ở định dạng đồng hồ 12 giờ

Ví dụ

// the input is in ISO-8601 format
var utcDate = "2022-03-19T20:15:50.000Z";
var localDate = new Date[utcDate].toLocaleString["en-US", {
  localeMatcher: "best fit",
  timeZoneName: "short"
}];

console.log[localDate];

đầu ra

3/19/2022, 1:15:50 AM GMT-7

Lưu ý rằng đầu ra phụ thuộc vào vị trí của người dùng

Một vi dụ khac

var utcDate = new Date[Date.UTC[2022, 3, 19, 8, 20, 49]];
var localDate = utcDate.toLocaleString["en-US", {
  dateStyle: "full",
  timeStyle: "full"
}];

console.log[localDate];

đầu ra

Tuesday, April 19, 2022 at 1:20:49 AM Pacific Daylight Time

Ví dụ

var utcDate = new Date[Date.UTC[2022, 03, 19, 17, 39, 49]];

// Get local year, month, date, hour, minute, and second
console.log['Year:', utcDate.getFullYear[]];
console.log['Month:', utcDate.getMonth[]];
console.log['Date:', utcDate.getDate[]];
console.log['Hour:', utcDate.getHours[]];
console.log['Minute:', utcDate.getMinutes[]];
console.log['Second:', utcDate.getSeconds[]];

// Create a local date object in case you need to perform some operations
var localDate = new Date[
   utcDate.getFullYear[],
   utcDate.getMonth[],
   utcDate.getDate[],
   utcDate.getHours[],
   utcDate.getMinutes[],
   utcDate.getSeconds[]
];

Người dùng có múi giờ PDT [Giờ ban ngày Thái Bình Dương] sẽ nhận được kết quả này

Year: 2022
Month: 3
Date: 20
Hour: 12
Minute: 39
Second: 49

Sử dụng phương thức toISOString[]

Ví dụ

var localDate = new Date[];
console.log[localDate.toISOString[]];

Đây là đầu ra của tôi

2022-03-19T17:25:52.781Z

Đầu ra của bạn phụ thuộc vào vị trí của bạn và khi bạn chạy mã

Ví dụ

________số 8_______

Bớt tư tưởng

Bạn đã học được một số kỹ thuật để biến giờ UTC thành giờ địa phương và ngược lại trong Javascript

Việc chuyển đổi giữa UTC sang giờ địa phương là cần thiết khi xử lý các ứng dụng nhạy cảm với thời gian. Ví dụ: nếu một cửa hàng trực tuyến đang hiển thị thời gian khi một đơn đặt hàng được đặt, điều quan trọng là phải đảm bảo thời gian hiển thị giống nhau bất kể khách hàng ở đâu

Ngoài việc hiển thị thời gian chính xác, việc chuyển đổi giữa giờ UTC và giờ địa phương cũng cần thiết khi xử lý dữ liệu và phân tích. Ví dụ: nếu một cửa hàng trực tuyến đang thu thập dữ liệu về thời điểm khách hàng mua hàng, điều quan trọng là đảm bảo dữ liệu được thu thập chính xác. Nếu dữ liệu được thu thập theo giờ UTC, nhưng các phân tích đang được hiển thị theo giờ địa phương, điều quan trọng là phải chuyển đổi dữ liệu để đảm bảo rằng các phân tích là chính xác

Nếu bạn có bất kỳ câu hỏi nào liên quan đến bài viết này, vui lòng để lại nhận xét. Chúng tôi rất vui khi được nghe từ bạn

Làm cách nào để chuyển đổi thời gian UTC trong JavaScript?

Ngày Javascript có thể được chuyển đổi thành UTC bằng cách sử dụng các hàm có trong đối tượng Ngày Javascript . Phương thức toUTCString[] được sử dụng để chuyển đổi một đối tượng Date thành một chuỗi, theo thời gian quốc tế. toGMTString[] trả về một chuỗi đại diện cho Ngày dựa trên múi giờ GMT [UT].

Làm cách nào để chuyển đổi chuỗi thành ngày giờ trong JavaScript?

Phương thức parse[] lấy một chuỗi ngày [chẳng hạn như "2011-10-10T14. 48. 00"] và trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00. 00. 00 UTC. Hàm này hữu ích để đặt giá trị ngày dựa trên giá trị chuỗi, ví dụ như kết hợp với phương thức setTime[] và đối tượng Date.

Làm cách nào để chuyển đổi chuỗi ngày UTC và xóa T và Z trong JavaScript?

Chuyển đổi và định dạng ngày UTC . Nếu bạn chưa có nó, bạn có thể chuyển đổi nó thành ISO bằng cách sử dụng hàm toISOString trên một đối tượng Date . Điều này sẽ loại bỏ cả T và Z, dẫn đến "2022-06-22 07. 54. 52. 657".

Làm cách nào để chuyển đổi thời gian UTC thành giờ địa phương trong JavaScript bằng thời điểm?

// Use moment to parse your UTC date var utcDate = thời điểm. utc['2015-08-28 09. 19. 09Z']; . local[]; khi tập lệnh trên chạy trong trình duyệt của máy khách thì nó sẽ chuyển đổi thành ngày giờ cục bộ.

Chủ Đề