Latest web development tutorials

Python Data e Hora

programas em Python podem lidar com datas e horas em muitos aspectos, o formato da data de conversão é uma característica comum.

Python fornece um tempo e módulo de calendário podem ser usadas para formatar datas e horas.

Intervalo está em segundos decimais de ponto flutuante.

Cada carimbos de tempo estão em desde 01 de janeiro de 1970 à meia-noite (época), após quanto tempo a expressar.

Sob módulo tempo do Python tem um número de funções pode ser convertido para o formato de data comum. Tal como time.time function () é usado para obter o carimbo de hora atual seguinte exemplos:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time;  # 引入time模块

ticks = time.time()
print "当前时间戳为:", ticks

Exemplos de saída acima:

当前时间戳为: 1459994552.51

unidade Timestamp é o mais adequado para fazer aritmética de datas. Mas antes de 1970 como a data não pode ser expressa. Nem data muito distante, UNIX, e Windows suporta apenas até 2038.



Qual é a tupla tempo?

Muitos função Python com um yuan montado um conjunto de tempo de processamento digital de 9:

Não. campo valor
0 4-Digit Ano 2008
1 mês 1-12
2 dia 1-31
3 hora 0-23
4 minuto 0-59
5 segundo 0-61 (60 ou 61 segundos bissextos)
6 Os primeiros dias da semana 0-6 (0 é segunda-feira)
7 Os primeiros dias do ano 1-366 (Julian)
8 Horário de Verão -1, 0, 1, -1 bandeira decidir se o horário de verão

Acima é struct_time tupla. Esta estrutura tem as seguintes propriedades:

Não. propriedade valor
0 tm_year 2008
1 tm_mon 1-12
2 tm_mday 1-31
3 tm_hour 0-23
4 tm_min 0-59
5 tm_sec 0-61 (60 ou 61 segundos bissextos)
6 tm_wday 0-6 (0 é segunda-feira)
7 tm_yday 1-366 (Julian)
8 tm_isdst -1, 0, 1, -1 bandeira decidir se o horário de verão


Obter hora atual

conversão tuplo de retorno de ponto flutuante timestamps maneira de o tempo, enquanto o flutuador passado para funções como a hora local.

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

localtime = time.localtime(time.time())
print "本地时间为 :", localtime

Exemplos de saída acima:

本地时间为 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)


Obter hora formatada

Você pode selecionar uma variedade de formatos de acordo com as necessidades, mas o mais fácil de obter função do modo de tempo de leitura é asctime ():

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

localtime = time.asctime( time.localtime(time.time()) )
print "本地时间为 :", localtime

Exemplos de saída acima:

本地时间为 : Thu Apr  7 10:05:21 2016

Formato de data

Podemos usar o método de tempo módulo strftime para formatar datas:

time.strftime(format[, t])
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 

# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) 
  
# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

Exemplos de saída acima:

2016-04-07 10:25:09
Thu Apr 07 10:25:09 2016
1459175064.0

python, data e formatação tempo símbolos:

  • % Y denotam ano de dois dígitos (00-99)
  • % Y representa um ano com quatro dígitos (000-9999)
  • mes% M (01-12)
  • Dentro% d mês do dia (0-31)
  • % H horas de relógio de 24 horas (0-23)
  • % I 12 horas de relógio hora (01-12)
  • número% M (00 = 59) minutos
  • % Segundos S (00-59)
  • % Uma semana simplificar nome local
  • % Local Uma dia da semana completo
  • % B Nome do mês simplificar locais
  • % B nome completo mês localmente
  • % C data local representação correspondente e representação tempo
  • dia% J do ano (001-366)
  • % AM P ou PM personagem equivalente local
  • O% L várias vezes por ano (00-53) para a semana que se inicia domingo semana
  • % W semana (0-6), o domingo é o início da semana
  • % W do número do ano (00-53) para a semana começando na segunda semana
  • % X representação da data local correspondente
  • % X Representação hora local correspondente
  • Nome% Z fuso horário atual
  • %%% Número si

Obter um mês de calendário

módulo de calendário tem uma ampla gama de métodos utilizados para o calendário do processo e do calendário, como a impressão de um mês de calendário:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import calendar

cal = calendar.month(2016, 1)
print "以下输出2016年1月份的日历:"
print cal;

Exemplos de saída acima:

以下输出2016年1月份的日历:
    January 2016
Mo Tu We Th Fr Sa Su
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31


Módulo tempo

Módulo de tempo contém as seguintes funções internas, tanto o tempo para lidar com, mas também o formato tempo de conversão:

Não. Função e descrição
1 time.altzone
Back in West Greenwich área de horário de verão deslocamento em segundos. Se a área é retornado no valor negativo Médio de Greenwich (como a Europa Ocidental, incluindo o Reino Unido). Ative para usar a área de horário de verão direita.
2 time.asctime ([tupletime])
Tempo para aceitar e retornar uma forma legível tupla como uma cadeia de "Tue 11 de dezembro 18:07:14 2008" (11 de dezembro de 2008 terça-feira 18:07:14) 24 caracteres.
3 time.clock ()
O número de segundos para retornar os atuais cálculos de ponto flutuante de tempo de CPU. procedimentos diferentes usados ​​para medir a demorada do que time.time () mais útil.
4 time.ctime ([s])
Atos asctime (localtime (segundos)), não é equivalente ao asctime parâmetro ()
5 time.gmtime ([s])
timestamps Recepção (1970 era após o número de ponto flutuante de segundos) e retornar tempo em Greenwich tempo astronômico tupla t. NOTA: t.tm_isdst sempre 0
6 time.localtime ([s])
timestamps Recepção (1970 era após o número de ponto flutuante de segundos) e retornar para a hora local no momento da tupla t (t.tm_isdst conveniência 0 ou 1, a hora local não é dependente de horário de verão).
7 time.mktime (tupletime)
Tempo para aceitar e retornar uma tupla timestamps (1970 era após o número de ponto flutuante de segundos).
8 time.sleep (segs)
Adiar o chamado segmento está sendo executado, segs número de segundos.
9 time.strftime (FMT [, tupletime])
Receber um time-tupla e retorna uma representação de string do horário local em um formato legível determinada pela FMT.
10 time.strptime (str, fmt = "% a% b% d% H:% M:% S% Y ')
De acordo com um tempo de cadeias de formato fmt são interpretados como uma tupla tempo.
11 time.time ()
Retorna a data do tempo atual (época 1970, depois de o número de ponto flutuante de segundos).
12 time.tzset ()
De acordo com as definições TZ re-inicialização da variável ambiental.

Módulo de tempo contém as duas seguintes propriedades muito importantes:

Não. Atributos e descrição
1 time.timezone
time.timezone propriedade de fuso horário local (não iniciado o horário de verão) deslocamento de segundos Greenwich (> 0, nas Américas; <= 0 maior parte da Europa, Ásia, África).
2 time.tzname
propriedade Time.tzname inclui um par de, dependendo das circunstâncias e diferentes cordas, respectivamente, o nome do fuso horário local com o horário de verão, e sem a banda.


Calendário módulo (Calendário)

Este módulo funções estão relacionadas com a agenda, como a impressão de um mês de calendário caráter.

Segunda-feira é o primeiro dia padrão da semana, o domingo é o último dia do padrão. Alterar a configuração para ser chamado função calendar.setfirstweekday (). Módulo contém as seguintes funções embutidas:

Não. Função e descrição
1 calendar.calendar (ano, W = 2, l = 1, c = 6)
Retorna um multi-line ano civil em formato de cadeia, 3 meses espaçamento entre linhas distância C. amplitude do intervalo diário W caracteres. Cada comprimento da linha é 21 * W + 18 + 2 * C. L é o número de linhas por semana.
2 calendar.firstweekday ()
Voltar Definir data de início da semana atual. Por padrão, quando você primeiro módulo de carga caendar retorna 0, ou seja, segunda-feira.
3 calendar.isleap (ano)
É um ano bissexto retorna True, caso contrário false.
4 calendar.leapdays (Y1, Y2)
De volta ao Y1, Y2 número total de anos bissextos entre.
5 calendar.month (ano, mês, w = 2, l = 1)
Retorna um cordas de várias linhas no mês formato de ano-mês, duas linhas das posições linha de semana. amplitude do intervalo diário W caracteres. O comprimento de cada linha é * 7 W + 6. L é o número de linhas por semana.
6 calendar.monthcalendar (ano, mês)
Ele retorna um inteiro aninhados listas monocamada. Cada sub-lista de inteiro carregar representante de uma semana. Data mês do ano no mês de fora são definidos como 0; gama de dia para os primeiros dias do mês, ele disse que a partir de 1.
7 calendar.monthrange (ano, mês)
Retorna dois números inteiros. A primeira semana do mês é o código de data, eo segundo é o mês do código de data. A partir do dia 0 (segunda-feira) a 6 (domingo), a partir de janeiro 01-12.
8 calendar.prcal (ano, W = 2, l = 1, c = 6)
calendar.calendar impressão equivalente (ano, W, G, C).
9 calendar.prmonth (ano, mês, w = 2, l = 1)
calendar.calendar impressão equivalente (ano, W, G, C).
10 calendar.setfirstweekday (dia da semana)
Definir o código de semana da data de partida. 0 (segunda-feira) a 6 (domingo).
11 calendar.timegm (tupletime)
E time.gmtime oposto: para aceitar a forma de uma tupla tempo, retorna a data e hora de tempo (1970 era após o número de ponto flutuante de segundos).
12 calendar.weekday (ano, mês, dia)
Retorna a data do código de data. 0 (segunda-feira) a 6 (domingo). 1 mês (janeiro) a 12 (dezembro).


Outros módulos e funções relacionadas

Em Python, datas e horários de outros módulos de processamento são: