Tôi đang cố gắng tạo một đối tượng DateTime
với dấu thời gian UTC cụ thể trong PowerShell. Cách đơn giản nhất để làm điều này là gì?Tạo một đối tượng DateTime với một Ngày giờ UTC cụ thể trong PowerShell
tôi đã cố gắng:
Get-Date
-Format (Get-Culture).DateTimeFormat.UniversalSortableDateTimePattern
-Date "1970-01-01 00:00:00Z"
nhưng tôi nhận ra điều này:
1969-12-31 19:00:00Z
Đó là một vài giờ tắt. Trường hợp của tôi mất hiệu lực trong sự hiểu biết?
phản bác: $ UtcTime.Kind Ý tôi là, khi bạn vượt qua nó để một số chức năng khác - trong nhiều trường hợp nó sẽ đối xử với nó như là một giờ địa phương, bởi vì đây là những gì thực sự được lưu trữ. Và PowerShell không chuyển đổi nó thành thời gian cục bộ của bạn khi in ... Nếu không ToUniversalTime() của bạn cũng sẽ là địa phương –
'Get-Date' chuyển đổi thời gian UTC đã cho thành cục bộ và lưu nó thành đối tượng' datetime' với 'Kind 'được đặt thành' Địa phương'. Nó lưu trữ đúng điểm vật lý đúng lúc, nhưng đó là thời gian địa phương và sẽ được in theo giờ địa phương. Lưu ý rằng đây vẫn là câu trả lời đúng cho câu hỏi. OP không yêu cầu cụ thể việc tạo một đối tượng 'datetime' với loại UTC. Được thăng hạng. –