我正在尝试date在PowerShell中将a DayOfWeek Month Day(st|nd|rd|th) year格式化为格式。
(Get-Date).AddDays(+1).ToString('D')
Run Code Online (Sandbox Code Playgroud)
输出为“ 2016年7月5日,星期二 ”,但需要使用以下格式:2016年7月5日,星期二
if date(Get-Date) % 100 IN (11, 12, 13) THEN 'th'
    if (Get-Date) % 10 = 1 THEN 'st'
    if (Get-Date) % 10 = 2 THEN 'nd'
    if (Get-Date) % 10 = 3 THEN 'rd'
Run Code Online (Sandbox Code Playgroud)
    一种可能的解决方案可能是这样的
function Get-DateOrdinalSuffix([datetime]$Date) {
    switch -regex ($Date.Day.ToString()) {
        '1(1|2|3)$' { 'th'; break }
        '.?1$'      { 'st'; break }
        '.?2$'      { 'nd'; break }
        '.?3$'      { 'rd'; break }
        default     { 'th'; break }
    }
}
$d = (Get-Date).AddDays(1)
$suffix = Get-DateOrdinalSuffix $d
$dateFormatted = "{0} {1:MMMM} {2}{3} {4}" -f $d.DayOfWeek, $d, $d.Day, $suffix, $d.Year
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           982 次  |  
        
|   最近记录:  |