在Powershell中将日期值转换为日期

时间:2013-05-20 16:29:18

标签: powershell

在Powershell中,将日期转换为年中的某一天很容易:

$DayOfYear = (Get-Date).DayofYear
Write-Host $DayOfYear
140

是否有类似的方法将一年中的某一天转换回日期(即140 = 2013年5月20日)?

4 个答案:

答案 0 :(得分:4)

试试这个:

([datetime]"01/01/$((Get-Date).Year)").AddDays(140-1)

20. mai 2013 00:00:00

mai = may in norwegian: - )

答案 1 :(得分:2)

您可以创建一个表示年份开始的DateTime对象,然后添加天数,例如:

(New-Object System.DateTime 2013,1,1).AddDays(140-1)

答案 2 :(得分:1)

这可能对您有所帮助:

$startdate_year = ([datetime]"01/01/$((Get-Date).Year)")
$a = (Get-Date $startdate_year).AddDays(139)
"Date: " + $a.ToShortDateString()

现在你将得到如下结果:

Date: 5/20/2013

答案 3 :(得分:0)

使用此方法可以避免[datetime]对象,并仅使用Powershell语法:

$DayOfYear = (Get-Date).DayOfYear
$Today = (Get-Date -Month 1 -Day 1).AddDays($DayOfYear-1)
"$($Today.ToString("MM/dd/yyyy")) is day $DayOfYear of 365"

输出:

10/03/2017 is day 276 of 365