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: