如何使用PowerShell将'date-1'格式化为mm-dd-yyyy?

时间:2013-11-02 12:06:53

标签: date powershell formatting

如何在PowerShell中获取 date-1 并将其格式化为mm-dd-yyyy?

示例:如果今天是2013年11月1日,我的代码需要10-31-2013。

之前我使用过AddDays(-1),但我似乎无法使用任何格式化选项。

4 个答案:

答案 0 :(得分:56)

您可以使用带有日期时间格式说明符的.tostring()方法格式化为您需要的任何内容:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

(Get-Date).AddDays(-1).ToString('MM-dd-yyyy')
11-01-2013

答案 1 :(得分:10)

我认为这只是部分正确。更改格式似乎将日期切换为字符串对象,然后没有像AddDays这样的方法来操作它。因此,要使其工作,您必须将其切换回日期。例如:

Get-Date (Get-Date).AddDays(-1) -format D

答案 2 :(得分:0)

这对我来说是最简单的解决方案:

只是当前日期

$tStamp = Get-Date -format yyyy_MM_dd_HHmmss

当前日期,加上一些月份

$tStamp = Get-Date (get-date).AddMonths(6).Date -Format yyyyMMdd

答案 3 :(得分:-1)

    Windows PowerShell
    Copyright (C) 2014 Microsoft Corporation. All rights reserved.

    PS C:\Windows\system32> **$dte = Get-Date**
    PS C:\Windows\system32> **$PastDueDate = $dte.AddDays(-45).Date**
    PS C:\Windows\system32> **$PastDueDate**

    Sunday, March 1, 2020 12:00:00 AM

   PS C:\Windows\system32> **$NewDateFormat = Get-Date $PastDueDate -Format MMddyyyy**
   PS C:\Windows\system32> **$NewDateFormat 03012020**

几乎没有其他可用的方法,例如:$dte.AddDays(-45).Day