Powershell:获取日期&;[datetime]::FromFileTime返回不同的值
为什么get date&[datetime]::FromFileTime在转换FileTime时返回不同的值?例如:Powershell:获取日期&;[datetime]::FromFileTime返回不同的值,powershell,Powershell,为什么get date&[datetime]::FromFileTime在转换FileTime时返回不同的值?例如: Get-Date 129442497539436142 $a = ([datetime]::Now).Ticks - ([DateTime]("01/01/0001 00:00")).Ticks Get-Date $a # get ticks from 01/01/0001 00:00 $a = ([datetime]::Now).Ticks - ([dat
Get-Date 129442497539436142
$a = ([datetime]::Now).Ticks - ([DateTime]("01/01/0001 00:00")).Ticks
Get-Date $a # get ticks from 01/01/0001 00:00
$a = ([datetime]::Now).Ticks - ([datetime]("01/01/1601 00:00")).Ticks
[datetime]::FromFileTimeUTC($a) # get ticks from 01/01/1601 00:00
返回2011年3月10日星期四下午4:55:53,但是
[datetime]::FromFileTime("129442497539436142")
返回2011年3月10日星期四上午11:55:53提示:我在格林威治标准时间,他们给我的结果相同
PS > Get-Date 129442497539436142
10 March 0411 16:55:53
PS > [datetime]::FromFileTime("129442497539436142")
10 March 2011 16:55:53
他们对我产生了相同的结果,大概是因为我在格林尼治标准时间
(FromFileTime将时间解析为,Get Date似乎使用您的本地时间。)文件时间是所谓的刻度。每秒1000万次。文件时间为1601年1月1日(UTC)午夜0 Get date也有刻度,但Get date使用的刻度基数不是1601。
这是第一年的1月1日。
您基本上可以通过第一个数字识别两种不同类型的记号 文件时间刻度从数字1开始,大致范围为-100到+200年 使用0年1月1日基数的蜱虫开始于大约相同时间范围内的6 在PowerShell中,您可以通过键入以下内容来验证1月1日第1年是否为勾选0:
[datetime]'0001-01-01' | Select-Object -property Ticks
它基于您当地的“长日期”格式
要么你必须改变你的系统“长日期”
(或)使用下面的命令
(获取日期).tostring(“dd/MM/yyyy”)
问候,,
Manikandan Boopathy获取日期获取滴答声从01/01/0001 00:00开始 [datetime]::FromFileTimeUTC($a)从1601年1月1日00:00获取刻度 你写道:
returns Thursday, March 10, 0411 4:55:53 PM, but
returns Thursday, March 10, 2011 11:55:53 AM
差别是1600年
这是一个例子:
Get-Date 129442497539436142
$a = ([datetime]::Now).Ticks - ([DateTime]("01/01/0001 00:00")).Ticks
Get-Date $a # get ticks from 01/01/0001 00:00
$a = ([datetime]::Now).Ticks - ([datetime]("01/01/1601 00:00")).Ticks
[datetime]::FromFileTimeUTC($a) # get ticks from 01/01/1601 00:00
看来这一年是完全不同的。啊-我只是在看时间部分-我没有注意到这一年的部分!我会调查的。。。