Я видел, по крайней мере, еще в одном месте, что люди не понимают, что 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 (через -u
aka -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
Надеюсь, это поможет!