Работа с датами - Python в Writer

Автор Ципихович Эндрю, 8 января 2024, 15:11

0 Пользователи и 1 гость просматривают эту тему.

Ципихович Эндрю

здравствуйте речь про Python в Writer
имеется код:
    date_start = datetime.now()
    tRange.String = 'Начато:', date_start
вверху строка добавления модуля имеется:
from datetime import datetime # позволяет работать с датойи так как это мой первый скрипт Python в Writer то лучше не гадать, а спросить, спасибо

bigor

Так а чего получить то надо?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Ципихович Эндрю

забыл сказать, так не работает, ошибка на строке tRange.String = 'Начато:', date_start, как исправить?

bigor

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Ципихович Эндрю

разобрался нужно было:
    date_start = datetime.now()
    tRange.String = 'Начато: ' + str(date_start)

economist

Питон удобно работает со строками благодаря т.н. "срезам". Например, чтобы вывести ЧЧ:ММ:CС нужно всего лишь дописать срез [11:19]

tRange.String = 'Начато: ' + str(date_start)[11:19]
Что же касается сабжа, в Python тема дат "перегрета". Модулей слишком много: datetime, time, calendar, dateutil, pytz и др., а типов в них еще больше: date, time, datetime, tzinfo, timedelta, relativedelta итд.

Есть и досадная путаница с неправильным (одинаковым) именем либы/модуля datetime и его класса datetime, которая сложилась исторически и вряд ли когда-то исправится. Из-за этого в безупречно читаемом коде python часто можно увидеть странное datetime.datetime Хорошо что таких ляпов в Питоне - по пальцам одной руки.

Для вывода на русском понятных человеку дат и периодов "словами" вида "в течение 2 месяцев" или "три месяца назад" из дат с использованием стандартных либ, упомянутых выше - приходилось много кодить. Хоршие люди уже написали либу arrow, она умеет делать с датой вообще всё, что только может понадобиться впредь, см. https://arrow.readthedocs.io/en/latest/index.html Чтобы получить ее в OpenOffice|LibreOffice Python - нужно скачать pip и в консоли pip install arrow (на Форуме есть примеры).
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Ципихович Эндрю

спасибо не знал, про arrow, ознакомился:
import arrow  # pip install arrow
current_time = arrow.now()
print("Текущее время:", current_time.format("HH:mm:ss")) # Текущее время: 11:17:26