programing

시간을 밀리초 단위로 찾으시겠습니까?

abcjava 2023. 8. 14. 22:25
반응형

시간을 밀리초 단위로 찾으시겠습니까?

PowerShell을 사용하여 시간(밀리초)을 어떻게 찾을 수 있습니까?

다음을 사용하여 전체 날짜를 밀리초 단위로 얻을 수 있습니다.

Get-Date -Format HH:mm:ss.fff

이 질문에서는 지정된 날짜 시간(밀리초)(Microsoft epoch time)을 찾을 것을 제안합니다.이 문제는 다음을 통해 쉽게 해결할 수 있습니다.

[Math]::Round((Get-Date).ToFileTime()/10000)

또는

[Math]::Round((Get-Date).ToFileTimeUTC()/10000)

이 시간을 Unix 에포크 시간(초)으로 변환하는 방법

[Math]::Round((Get-Date).ToFileTime() / 10000000 - 11644473600)

여기서 1164473600은 Microsoft 시대(1601 A.D.(C.E.))와 Unix 시대(1970년 1월 1일 오전 12시 UTC/GMT) 사이의 경과 시간(초)입니다.

https://msdn.microsoft.com/en-us/library/system.datetime.tofiletime(v=vs.110).aspx

PowerShell에서 시간 범위에 시간 값을 캐스팅하고 TotalMilliseconds 메서드를 호출할 수 있습니다.

([TimeSpan]"00:05:00").TotalMilliseconds # Returns 300000

([TimeSpan] (Get-Date).ToShortTimeString()).TotalMilliseconds # Returns total milliseconds from 00:00:00 till now

밀리초 미만의 해상도가 필요한 경우 System(시스템)을 확인하십시오.진단.스톱워치.

$stopwatch = New-Object System.Diagnostics.Stopwatch
$stopwatch.Start()
$stopwatch.Stop()
$stopwatch

이렇게 하면 됩니다.

[DateTimeOffset]::UtcNow.ToUnixTimeMilliseconds()

돌아온다

1624186843769

10,000개의 눈금은 1밀리초입니다(1개의 눈금은 100나노초입니다).그것이 UTC에 있어야 하는지는 또 다른 질문입니다.마이크로소프트 틱, 파일 시간 및 유닉스 시간은 모두 서로 다른 날짜에서 계산됩니다.

(get-date).ticks/10000 # local time (I'm EST -5:00)

63808255598664.8


([datetime]'1/1/2023').ticks/10000

63808128000000


([timespan]10000).TotalMilliseconds

1


([datetimeoffset]'1/1/2023').ticks/10000      # from 1/1/0001 local time

63808128000000


([datetimeoffset]'1/1/2023').ToUnixTimeMilliseconds() # from 1/1/1970 utc

1672549200000


([datetimeoffset]'1/1/2023').ToFileTime()/10000 # milliseconds from 1/1/1601 utc

13317022800000



([datetimeoffset]'1/1/0001').ticks

0


([datetimeoffset]'12/31/1969 7pm').ToUnixTimeMilliseconds()

0


([datetimeoffset]'12/31/1600 7pm').ToFileTime() # ticks

0

Vignesh Narendran의 답변은 Epoch millisec 시간을 UTC로 제공합니다.

컴퓨터의 표준 시간대를 문자열로 지정하려면 다음을 수행합니다.

(Get-Date -UFormat %s).Replace('.', '').Substring(0, 13)

숫자로:

[Long](Get-Date -UFormat %s).Replace('.', '').Substring(0, 13)

PowerShell 7.1에서 -As 추가UTC 스위치:Get-Date당신이 UTC를 원한다면.

언급URL : https://stackoverflow.com/questions/9060269/find-time-in-milliseconds

반응형