Saltar al contenido

Cómo convertir un python datetime.datetime a un número de fecha de serie de Excel

Verificamos de forma exhaustivamente cada post de nuestro sitio web con el objetivo de enseñarte siempre información más veraz y certera.

Solución:

Parece que el formato de “fecha de serie” de Excel es en realidad el número de días desde 1900-01-00, con un componente fraccional que es una fracción de un día, basado en http://www.cpearson.com/excel/datetime.htm. (Supongo que esa fecha en realidad debería considerarse 1899-12-31, ya que no existe el día 0 de un mes)

Entonces, parece que debería ser:

def excel_date(date1):
    temp = dt.datetime(1899, 12, 30)    # Note, not 31st Dec but 30th!
    delta = date1 - temp
    return float(delta.days) + (float(delta.seconds) / 86400)

Si bien esto no es exactamente relevante para el formato de fecha de serie de Excel, este fue el principal éxito para exportar la fecha y hora de Python a Excel. Lo que he encontrado particularmente útil y simple es simplemente exportar usando strftime.

import datetime
current_datetime = datetime.datetime.now()
current_datetime.strftime('%x %X')

Esto generará el siguiente formato ’25/06/14 09:59:29′, que Excel acepta como una fecha/hora válida y permite ordenar en Excel.

si el problema es que queremos el número de serie de Excel DATEVALUE() para las fechas, se puede usar la función toordinal(). Los números de serie de Python comienzan el 1 de enero del año 1, mientras que Excel comienza el 1 de enero de 1900, así que aplique una compensación. Consulte también el error de año bisiesto de Excel 1900 (https://support.microsoft.com/en-us/help/214326/excel-incorrectly-assumes-that-the-year-1900-is-a-leap-year)

def convert_date_to_excel_ordinal(day, month, year) :

    offset = 693594
    current = date(year,month,day)
    n = current.toordinal()
    return (n - offset)

valoraciones y comentarios

Nos puedes favorecer nuestro cometido poniendo un comentario y dejando una puntuación te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *