El procesamiento de datos de tiempo es mejor para dominar la fecha y hora

El módulo de fecha y hora proporciona clases para manipular fechas y horas, salida formateada conveniente, extracción efectiva de información y cálculos relacionados con la hora.
En términos de procesamiento de datos de tiempo, datetime básicamente puede satisfacer mis necesidades. A continuación, resuma los métodos comunes del módulo de fecha y hora.

Un formato de datos (fecha, hora, fecha y hora)

Se definen tres clases en datetime para almacenar datos de tiempo

clase formato
datetime.date Representa la fecha, fecha y hora.fecha (año, mes, día), los atributos son respectivamente año, mes y día
datetime.time Representa la hora, datetime.time (hora, minuto, segundo, microsegundo), los atributos son hora, minuto, segundo, milisegundo
datetime.datetime 日期 + 时间 , datetime.datetime (año, mes, día, hora, minuto, segundo, microsegundo)

Básicamente, no hay diferencia entre estas tres clases, y cuál usar depende completamente de las necesidades comerciales específicas. Si solo hay una fecha, use datetime.date. Si solo hay una hora, use datetime.time. Si la hora y la fecha son importantes, utilice datetime.datetime. Este es el formato de datos de tiempo, al igual que una lista, se puede utilizar para formatear y guardar datos de tiempo.

Adquisición por segunda vez

1 Ingrese la hora

Los tres formatos de datos anteriores son todas clases, por supuesto, se pueden crear instancias.

National_Day  = datetime.date(2020,10,1) 
getuptime = datetime.datetime(6,0,0)
2 Tiempo de lectura

Los datos en la base de datos generalmente se almacenan en tipos de datos estándar y tienen un conjunto completo de métodos de procesamiento maduros. Para obtener más detalles, consulte los datos de tiempo de procesamiento de SQL . El formato de datos en la hoja de Excel puede ser desigual, varios formatos, como:

  • '1 de octubre de 2020'
  • '4 de febrero de 2017'
  • '2020-10-01'

Entonces, ¿cómo convertir la información de tiempo en la cadena en formato de datos de fecha y hora?
Cabe señalar que Excel en sí mismo tiene una función de conversión de fecha, que es muy conveniente. El método consiste en hacer clic con el botón derecho para establecer el formato de celda y seleccionar la hora o la fecha.
Datetime proporciona la función strptime y también se puede convertir. Str significa cadena yp significa análisis sintáctico, es decir, ingresa una cadena de tiempo y modo de análisis, y devuelve un objeto de hora. tal como:

date1 = '2020年10月1日' # 字符串 
date2  =  'Feb 4 2017' # 字符串
date1 = datetime.datetime.strptime('2020年10月1日' , '%Y年%m月%d日')
date2 = datetime.datetime.strptime('Feb 4 2017' , '%b %d %Y')
print(date1,'\n', date2)
2020-10-01 00:00:00 
 2017-02-04 00:00:00

El modo de análisis se formatea y codifica según el tiempo. Tabla de códigos de formato de fecha y hora

3 Obtener la hora del sistema cuando se ejecuta la declaración actual
datetime.datetime.now()  # 完整时间戳
 datetime.datetime(2020, 11, 3, 19, 30, 8, 736315)  
datetime.date.today()   #  日期
datetime.date(2020, 11, 3)

Extracción de información tres veces

today = datetime.date.today()
rightnow.year
2020
rightnow.month
11
rightnow.isoweekday()
2
rightnow.day
3
rightnow.hour
19
rightnow.minute
51
rightnow.second
20
rightnow.microsecond
103255
rightnow.isocalendar() # 返回一个元组 (年,第几周, 周几) 
(2020, 45, 2)
rightnow.isoformat('/') #  格式化输出
'2020-11-03/19:51:54.103255'
rightnow.strftime('%Y-%m-%d')  #  格式化输出 
'2020-11-03'

Cálculo de cuatro tiempos

La clase timedelta representa la diferencia de tiempo entre diferentes tiempos consecutivos. Puede realizar operaciones aritméticas directamente en objetos datetime.date, datetime.time y datetime.datetime. Se realizan cuatro operaciones aritméticas entre diferentes unidades. La unidad de diferencia también es conveniente de controlar. El constructor es datetime.timedelta (días = 0, segundos = 0, microsegundos = 0, milisegundos = 0, minutos = 0, horas = 0, semanas = 0), por lo que la unidad de esta diferencia puede ser días, segundos, microsegundos, milisegundos, minutos, horas, semanas.

today = datetime.date.today() 
Mybrithday = datetime.date(2020,12,10) 
How_long_to_birthday = Mybrithday-today 
print(How_long_to_birthday)
>>>datetime.timedelta(days=-24)  # 时间差为timedelta类  
print(How_long_to_birthday.days)
-24
tomorrow = today + datetime.timedelta(1)  
pirnt(tomorrow) 
>>>datetime.date(2020, 11, 4) 

datetime.datetime.now() + datetime.datedelta(seconds=10) # 时间差也可以是秒
>>>datetime.datetime(2020, 11, 3, 20, 27, 12, 506074)

Este artículo solo proporciona métodos comunes de fecha y hora. Para una introducción más detallada, consulte la documentación oficial de fecha y hora.

Referencia:
documento oficial de python3 datetime: https://docs.python.org/3/library/datetime.html
Función tutorial-strptime de novato: https://www.ru oob.com/python/att-time-strptime.html

Supongo que te gusta

Origin blog.csdn.net/weixin_43705953/article/details/109476759
Recomendado
Clasificación