Get-Date formatting/culture

旧时模样 提交于 2019-12-22 08:37:09

问题


How do I specify what part of my input string is the date and month?

If the input is 01/10/2017, this can be read as 1st Oct 2017 and 10th Jan 2017. Both are correct.

I want to be explicit that 01 is date and 10 is month, so that irrespective of locale and time format I can get a consistent result.

Sample code:

get-date  -Date '01/10/2017'

The output is:

Tuesday, January 10, 2017 12:00:00 AM

The desired output is:

Sunday, October 01, 2017 12:00:00 AM

回答1:


I have a solution for you. It requires that the culture as one of the arguments.

([datetime]::ParseExact($date,"dd/MM/yyyy",[Globalization.CultureInfo]::CreateSpecificCulture('en-GB')))

A culture does not have to be specified. However, the argument for it does, otherwise you will get an error:

Cannot find an overload for "ParseExact" and the argument count: "2".

[cultureinfo]::InvariantCulture or $null can be used as the third argument:

$date = "01/10/2017"
[datetime]::ParseExact($date, "dd/MM/yyyy", [cultureinfo]::InvariantCulture)
[datetime]::ParseExact($date, "dd/MM/yyyy", $null)

Output in all three cases

01 October 2017 00:00:00



回答2:


Try this:

Get-Date(Get-Date -Date $date -Format 'dd/MM/yyyy')



回答3:


Read the documentation or run Get-Help Get-Date in PowerShell console.

You should read the documentation on MSDN that covers Get-Date PowerShell cmdlet and provides all the necessary examples. Take a closer look at Parameters section.



来源:https://stackoverflow.com/questions/44654045/get-date-formatting-culture

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!