1

在 Powershell 中,将日期转换为一年中的某天值很简单:

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

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

4

4 回答 4

4

尝试这个:

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

20. mai 2013 00:00:00

mai = may 在挪威语:-)

于 2013-05-20T16:35:17.273 回答
2

您可以创建一个代表年初的 DateTime 对象,然后将天数添加到其中,例如:

(New-Object System.DateTime 2013,1,1).AddDays(140-1)
于 2013-05-20T16:35:53.370 回答
1

这可能对您有帮助:

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

现在你会得到这样的结果:

Date: 5/20/2013
于 2013-05-20T16:50:47.473 回答
-1

使用此方法可避免 [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
于 2017-10-03T16:47:51.247 回答