Este artículo discutirá la conversión de un python datetime.datetime a un número de fecha de serie de Excel. El formato de «fecha de serie» de Excel es en realidad el número de días desde 1900-01-00. La función strftime() se usa para convertir objetos de fecha y hora a su representación de string. Toma una o más entradas de código formateado y devuelve la representación de string.
Sintaxis:
strftime(formato)
Parámetros: Esta función acepta un parámetro que se ilustra a continuación:
- formato: este es el código de formato especificado en el que se representará el objeto de fecha y hora dado.
Valores devueltos: Devuelve la representación de string del objeto de fecha u hora.
Ejemplo 1: En el siguiente ejemplo, la fecha y la hora actuales se convierten en el número de fecha de serie de Excel. Y el resultado devuelto tendrá el formato ’23/08/21 15:15:53′, que Excel acepta como una fecha/hora válida y permite ordenar en Excel.
Python3
# Python3 code to illustrate the conversion of # datetime.datetime to excel serial date number # Importing datetime module import datetime # Calling the now() function to return # current date and time current_datetime = datetime.datetime.now() # Calling the strftime() function to convert # the above current datetime into excel serial date number print(current_datetime.strftime('%x %X'))
Producción:
08/23/21 15:15:53
Si necesitamos el número de fecha de serie de Excel en forma de valor de fecha, esto se puede hacer usando la función toordinal() .
Ejemplo 2: número de serie en forma de valor de fecha
Python3
# Python3 code to illustrate the conversion of # datetime.datetime to excel serial date number # Importing date module from datetime from datetime import date # Taking the parameter from the calling function def convert_date_to_excel_ordinal(day, month, year): # Specifying offset value i.e., # the date value for the date of 1900-01-00 offset = 693594 current = date(year, month, day) # Calling the toordinal() function to get # the excel serial date number in the form # of date values n = current.toordinal() return (n - offset) # Calculating the excel serial date number # for the date "02-02-2021" by calling the # user defined function convert_date_to_excel_ordinal() print(convert_date_to_excel_ordinal(2, 2, 2021))
Producción:
44229
Ejemplo: En el siguiente ejemplo, la fecha «2021-05-04» se convierte en el número de fecha de serie de Excel con referencia a la fecha 1899-12-30.
Python3
# Python3 code to illustrate the conversion of # datetime.datetime to excel serial date number # Importing datetime module from datetime import datetime import datetime as dt def excel_date(date1): # Initializing a reference date # Note that here date is not 31st Dec but 30th! temp = dt.datetime(1899, 12, 30) delta = date1 - temp return float(delta.days) + (float(delta.seconds) / 86400) # Calculating the excel serial date number # for the date "2021-05-04" by calling the # user defined function excel_date() print(excel_date(datetime(2021, 2, 4)))
Producción:
44231.0
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA