对于检查,我需要昨天晚上10点的变量日期.
我得到昨天的日期和当前时间
$a = (get-date).AddDays(-1)
但是我如何将时间操纵到22.00并将变量保留为Date-Object?
Jam*_*ack 49
使用DateTime.Today而不是DateTime.Now(这是Get-Date返回的)因为今天只是00:00作为时间的日期,现在是时间到毫秒.(来自masenkablast)
> [DateTime]::Today.AddDays(-1).AddHours(22)
Thursday, March 11, 2010 10:00:00 PM
小智 12
我看到了这个主题,但就我而言,我一直在寻找一种改进格式的方法.使用UFormat并添加-1天
(get-date (get-date).addDays(-1) -UFormat "%Y%m%d-%H%M")
我至少在另一个地方看到人们也没有意识到Date-Time需要时间,所以我想我会在这里分享它,因为这样做真的很短:
Get-Date # Following the OP's example, let's say it's Friday, March 12, 2010 9:00:00 AM
(Get-Date '22:00').AddDays(-1) # Thursday, March 11, 2010 10:00:00 PM
这也是剥离时间信息并仍然使用Get-Date. 例如,您可以通过这种方式获得自 1970 年以来的秒数(Unix 时间戳):
Get-Date '0:00' -u '%s' # 1268352000
或者您可以获得 ISO 8601 时间戳:
Get-Date '0:00' -f 's' # 2010-03-12T00:00:00
再一次,如果您反转操作数,它会给您更多的自由来使用任何日期对象进行格式化:
'The sortable timestamp: {0:s}Z{1}Vs measly human format: {0:D}' -f (Get-Date '0:00'), "`r`n"
# The sortable timestamp: 2010-03-12T00:00:00Z
# Vs measly human format: Friday, March 12, 2010
但是,如果您想同时格式化 Unix 时间戳(通过-uaka -UFormat),则需要单独进行。这是一个例子:
'ISO 8601: {0:s}Z{1}Unix: {2}' -f (Get-Date '0:00'), "`r`n", (Get-Date '0:00' -u '%s')
# ISO 8601: 2010-03-12T00:00:00Z
# Unix: 1268352000
希望这可以帮助!
| 归档时间: | 
 | 
| 查看次数: | 86061 次 | 
| 最近记录: |