如何使用 PowerShell 将“date-1”格式设置为 mm-dd-yyyy?

问题描述 投票:0回答:5

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

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

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

date powershell formatting
5个回答
82
投票

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

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

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

14
投票

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

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

0
投票
    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


0
投票

使用系统参考:

 [System.DateTime]::Now.AddDays(-1).ToString('MM-dd-yyyy')

0
投票

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

  • 仅当前日期:

    $tStamp = Get-Date -format yyyy_MM_dd_HHmmss
    
  • 添加了一些月份的当前日期:

    $tStamp = Get-Date (get-date).AddMonths(6).Date -Format yyyyMMdd
    
© www.soinside.com 2019 - 2024. All rights reserved.