Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell:获取日期&;[datetime]::FromFileTime返回不同的值_Powershell - Fatal编程技术网

Powershell:获取日期&;[datetime]::FromFileTime返回不同的值

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&[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 - ([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

看来这一年是完全不同的。啊-我只是在看时间部分-我没有注意到这一年的部分!我会调查的。。。