How do I get 'date-1' formatted as mm-dd-y

2020-06-07 01:41发布

How does one get date-1 and format it to mm-dd-yyyy in PowerShell?

Example: If today is November 1, 2013, and I need 10-31-2013 in my code.

I've used AddDays(-1) before, but I can't seem to get it to work with any formatting options.

3条回答
三岁会撩人
2楼-- · 2020-06-07 02:22

You can use the .tostring() method with datetime format specifiers to format to whatever you need:

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

(Get-Date).AddDays(-1).ToString('MM-dd-yyyy')
11-01-2013
查看更多
\"骚年 ilove
3楼-- · 2020-06-07 02:33
    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**

There're few additional methods available as well e.g.: $dte.AddDays(-45).Day

查看更多
手持菜刀,她持情操
4楼-- · 2020-06-07 02:40

I think this is only partially true. Changing the format seems to switch the date to a string object which then has no methods like AddDays to manipulate it. So to make this work, you have to switch it back to a date. For example:

Get-Date (Get-Date).AddDays(-1) -format D
查看更多
登录 后发表回答