easymacro/doc/docs/tools/datetime.md

2.2 KiB

!!! tip "Atención"

La fecha inicial en Calc y en Python son diferentes.

today

Obtener la fecha actual.

    d = app.dates
    app.msgbox(d.today)

now

Obtener la fecha y hora actuales.

    d = app.dates
    app.msgbox(d.now)

time

Obtener la hora actual.

    d = app.dates
    app.msgbox(d.now.time())

epoch

Obtener el tiempo Unix

    d = app.dates
    app.msgbox(d.epoch)

date

Devolver una fecha

    d = app.dates

    date = d.date(1974, 1, 15)
    app.msgbox(date)

time

Devolver una hora

    d = app.dates

    time = d.time(10, 20, 15)
    app.msgbox(time)

datetime

Devolver fecha y hora

    d = app.dates

    dt = d.datetime(1974, 1, 15, 10, 11, 12)
    app.msgbox(dt)

str_to_date

Convertir una cadena en fecha. Mira este excelente recurso

    d = app.dates

    cadena = '1974-01-15'
    plantilla = '%Y-%m-%d'
    fecha = d.str_to_date(cadena, plantilla)
    app.msgbox(fecha)
    app.msgbox(type(fecha))

Para obtener un valor válido para establecer en una celda de Calc.

    d = app.dates

    cadena = '1974-01-15'
    plantilla = '%Y-%m-%d'
    fecha = d.str_to_date(cadena, plantilla, True)
    app.msgbox(fecha)
    app.msgbox(type(fecha))

calc_to_date

Convierte el valor de una celda en una fecha Python, por ejemplo, la fecha inicial configurada en Calc.

    d = app.dates

    valor_en_celda = 0
    fecha = d.calc_to_date(valor_en_celda)
    app.msgbox(fecha)
    app.msgbox(type(fecha))

sleep

Pausar la ejecución por X segundos.

!!! tip inline end "Atención"

La pausa es bloqueante.
    d = app.dates

    app.sleep(3)
    app.msgbox('Fin')

start y end

Medir tiempo en segundos.

    d = app.dates

    d.start()
    app.sleep(5)
    seconds = d.end()
    app.msgbox(seconds)

Regresar timedelta en vez de segundos.

    d = app.dates

    d.start()
    app.sleep(5)
    td = d.end(False)
    app.msgbox(td)