([TimeSpan]"00:05:00").TotalMilliseconds # Returns 300000
([TimeSpan] (Get-Date).ToShortTimeString()).TotalMilliseconds # Returns total milliseconds from 00:00:00 till now
(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
7条答案
按热度按时间4bbkushb1#
您可以使用以下命令获得完整的日期(以毫秒为单位):
jslywgbw2#
这个问题建议查找以毫秒为单位的给定日期时间(Microsoft纪元时间)。
或
要将其转换为Unix纪元时间(以秒为单位):
其中,11644473600是Microsoft纪元(公元1601年1月1日)和Unix纪元(1970年1月1日12 AM UTC/GMT)之间经过的秒数
https://msdn.microsoft.com/en-us/library/system.datetime.tofiletime(v=vs.110).aspx
wswtfjt73#
在PowerShell中,您可以将时间值转换为时间跨度并调用TotalMilliseconds方法:
igsr9ssn4#
如果您需要(亚)毫秒分辨率,请查看System.Diagnostics.Stopwatch。
bis0qfac5#
这应该行得通:
退货
hk8txs486#
10,000个tick是1毫秒。(1个tick是100纳秒。)是否必须使用UTC是另一个问题。Microsoft tick和filetime以及unix时间都是从不同的日期计数的。
daolsyd07#
Vignesh Narendran的回答给出了以UTC为单位的历元毫秒时间。
如果您希望它以计算机时区的形式显示为字符串:
作为数字:
PowerShell 7.1为
Get-Date
添加了一个-AsUTC开关(如果您需要UTC)。