como obter um horário diferente na CLI além do seu fuso horário?

2

Existe uma maneira de invocar ou saber um relógio ou hora diferente na CLI. A coisa é que eu estou no UTC + 5: 30 tempo, mas às vezes preciso saber o tempo em diferentes fusos horários. Se existe uma maneira CLI em que isso pode ser conhecido seria útil.

    
por shirish 11.10.2015 / 01:36

4 respostas

1

Como vários outros mencionaram, a variável de ambiente TZ é o que afeta a saída de date . No entanto, na maioria dos casos, você não vai querer sair TZ alterado; você só vai querer ver a hora nesse fuso horário, deixando seu ambiente inalterado depois.

Para isso, a melhor ferramenta a ser usada é env . Na página env man:

NAME
    env - run a program in a modified environment
SYNOPSIS
    env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

Então, neste caso, o comando que você quer seria algo como:

env TZ='EST' date

Existem outros formatos aceitáveis para o fuso horário - muitos deles. Se você tiver requisitos específicos, é recomendável ler man timezone , o que explica os formatos de fuso horário válidos.

    
por 11.10.2015 / 02:07
1

Acho que man date tem sua resposta:

 ENVIRONMENT

 The following environment variables affect the execution of date:

 TZ      The timezone to use when displaying dates.  The normal format is a pathname
         relative to /usr/share/zoneinfo.  For example, the command
         ''TZ=America/Los_Angeles date'' displays the current time in California.  See
         environ(7) for more information.

/usr/share/zoneinfo tem os nomes de fuso horário.

    
por 11.10.2015 / 01:45
1

Eu diria que existem apenas alguns TZs que você precisa verificar com frequência. Com essa suposição, você provavelmente acharia útil configurar aliases ou funções para cada TZ que precisa verificar. Um alias é tão simples como ...

alias est="TZ=US/Eastern date"

Uma definição de função seria semelhante ...

est() { TZ=US/Eastern date ; }

Definir funções para cada TZ teria o benefício adicional de isolar a mudança para o TZ. O que significa que o valor atribuído a TZ desapareceria quando a função terminasse, retornando ao seu valor original quando você retornasse ao seu shell.

Para disponibilizar uma dessas opções sempre que você fizer login, será necessário incluí-la em ~ / .bash_profile. Uma vez que você tenha um desses no lugar, abra um novo shell ou logout / login, então obtenha a data / hora com est .

    
por 11.10.2015 / 01:58
0

Você pode alterar o fuso horário que o date usará alterando a variável TZ

Por exemplo

$ date
Sun Oct 11 01:42:44 CEST 2015
$ TZ=US/Pacific date                                
Sat Oct 10 16:43:14 PDT 2015
$ TZ=UTC date                                                      
Sat Oct 10 23:44:04 UTC 2015
    
por 11.10.2015 / 01:45