Como altero o formato de data / hora via prompt de comando / powershell?

3

Eu estou tentando automatizar a configuração do meu PC tanto quanto possível e estou querendo saber se é possível alterar o formato de data / hora através da linha de comando.

Se sim, gostaria de saber o comando.

    
por mrjayviper 19.04.2017 / 15:40

1 resposta

3

O formato de data / hora é codificado como parte da região . Você pode definir isso a partir da CLI por meio do cmdlet do PowerShell Set-Culture . Isso faz parte do módulo International disponível desde o Windows 8 / Server 2012. Você é basicamente procurando o equivalente do applet GUI Control Panel Region (que pode ser exibido com control /name Microsoft.RegionAndLanguage ).

Exemplo

Para o impaciente, o comando básico do PowerShell é:

$culture = Get-Culture
$culture.DateTimeFormat.ShortDatePattern = 'd/MM/yyyy'
Set-Culture $culture

Existem alguns outros padrões de data / hora que listei abaixo que você pode modificar.

Detalhes

Primeiro, se você estiver no Windows 8, precisará importar o módulo. Isso não é necessário no Windows 10.

Import-Module International

Agora, se você quiser alterar toda a sua região, faça isso em um único comando, por exemplo:

Set-Culture 'en-AU'

Você pode usar qualquer BCP-47 marque aqui. Observe que isso também alterará outras configurações relacionadas à região, como o separador decimal.

Esta é a abordagem que eu recomendaria a maior parte do tempo, a menos que você tenha necessidades específicas de outra forma.

Se você quiser controlar mais especificamente o formato de data / hora, precisará construir seu próprio CultureInfo Objeto ou pegue a cultura atual e modifique-a:

$culture = Get-Culture
$culture.DateTimeFormat.ShortDatePattern = 'd/MM/yyyy'
Set-Culture $culture

Propriedades de data / hora relevantes

Você pode ver a lista de opções existentes executando apenas $culture.DateTimeFormat (ou Get-Culture.DateTimeFormat ). Os que você pode querer modificar são:

FullDateTimePattern
LongDatePattern
LongTimePattern
ShortDatePattern
ShortTimePattern

Eu recomendaria não tocar no padrão RFC1123 e nos padrões de classificação.

    
por 19.04.2017 / 20:11