Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

6 Март 2021, 17:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Python - Writer - Macro - datetime_now  (Прочитано 5736 раз)
0 Пользователей и 1 Гость смотрят эту тему.
EvgeX
Участник
**
Offline Offline

Сообщений: 7


« Стартовое сообщение: 24 Декабрь 2011, 15:47 »

# С НАСТУПАЮЩИМ НОВЫМ ГОДОМ!
# Работающий макрос и вопрос в коде.
"""""""""""""""
PythonWriter RU
datetime_now.py
19.12.11  EvgeX
"""""""""""""""

def datetime_now():
    doc = XSCRIPTCONTEXT.getDocument()
    text = doc.Text
# подключаемые библиотеки
   import time, datetime
# текущее время и дата
    now = datetime.datetime.now()
    today = datetime.date.today()
    text.Start.String = (
    "ТЕКУЩЕЕ  ВРЕМЯ  И  ДАТА" +
    "\nСегодня - " + today.strftime("%d.%m.%Y") +
    "\nНомер дня года - " + today.strftime("%j") +
    "\nНомер недели года - " + today.strftime("%W") +
    "\nДень недели числом - " + today.strftime("%w") +
    "\nДень недели по-английски - " + today.strftime("%A") +
    "\nДень недели по-русски - ?" +
    "\nВремя - " + now.strftime("%X") +
    "\nПризнак 'до/после полудня' - " + now.strftime("%p")
    )
« Последнее редактирование: 24 Декабрь 2011, 18:35 от EvgeX » Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #1: 24 Декабрь 2011, 22:00 »

Думаю, нужно добавить locale.
   import locale
   locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
   Day_ru = today.strftime("%A")
   locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
   Day_en = today.strftime("%A")

Вот только на разных системах названия могут отличаться. Например, на Windows это 'Russian_Russia.1251', а на Linux может быть 'ru_RU.UTF-8'.
« Последнее редактирование: 24 Декабрь 2011, 22:03 от Клио » Записан

ubuntu 12.04 + LibO3.6.0
EvgeX
Участник
**
Offline Offline

Сообщений: 7


« Ответ #2: 25 Декабрь 2011, 10:25 »

# ОГРОМНОЕ СПАСИБО КЛИО!
# ЕЩЁ РАЗ ВСЕХ С НАСТУПАЮЩИМ!
# Работающий макрос для Windows.
"""""""""""""""
PythonWriter RU
datetime_now.py
25.12.11  EvgeX
"""""""""""""""

def datetime_now():
    doc = XSCRIPTCONTEXT.getDocument()
    text = doc.Text
# подключаемые библиотеки
    import time, datetime, locale
# русский язык
    locale.setlocale(locale.LC_ALL, 'Russian_Russia.1251')
# текущее время и дата
    now = datetime.datetime.now()
    today = datetime.date.today()
    text.Start.String = (
    "ТЕКУЩЕЕ  ВРЕМЯ  И  ДАТА" +
    "\nСегодня - " + today.strftime("%d.%m.%Y") +
    "\nНомер дня года - " + today.strftime("%j") +
    "\nНомер недели года - " + today.strftime("%W") +
    "\nДень недели числом - " + today.strftime("%w") +
    "\nДень недели по-русски - " + today.strftime("%A") +
    "\nДень недели сокращенно - " + today.strftime("%a") +
    "\nВремя - " + now.strftime("%X")
    )
« Последнее редактирование: 25 Декабрь 2011, 10:27 от EvgeX » Записан
EvgeX
Участник
**
Offline Offline

Сообщений: 7


« Ответ #3: 26 Декабрь 2011, 12:49 »

# И ЕЩЁ РАЗ ВСЕХ С НАСТУПАЮЩИМ!!!
"""""""""""""""
PythonWriter-RU
datetime_now.py
26.12.11  EvgeX
"""""""""""""""

def datetime_now():
    doc = XSCRIPTCONTEXT.getDocument()
    text = doc.Text
# подключаемые библиотеки
    import locale, time, datetime
# русский язык
    locale.setlocale(locale.LC_ALL, 'Russian_Russia.1251') #Windows
    #locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8') #Linux
# текущее время и дата

    now = datetime.datetime.now()
    sft = now.strftime
    text.Start.String = (
    "ТЕКУЩЕЕ  ВРЕМЯ  И  ДАТА\n" +
    sft("Сегодня - %d.%m.%Y\n") +
    sft("Номер дня года - %j\n") +
    sft("Номер недели года - %W\n") +
    sft("День недели по-русски - %A\n") +
    sft("День недели сокращенно - %a\n") +
    sft("Время - %H:%M\n")
    )

ГДЕ РАЗМЕСТИТЬ И КАК ЗАПУСТИТЬ ВАШИ МАКРОСЫ.py
http://www.macro-doc.narod.ru
Записан
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #4: 26 Декабрь 2011, 14:00 »

# И ЕЩЁ РАЗ ВСЕХ С НАСТУПАЮЩИМ!!!
И вас!

Кстати, у вас наверное английский интерфейс системы. На русском интерфейсе локаль Питона и так такая. Т.е. на русском интерфейсе системы эти строчки - необязательны. Т.е., локаль Питона, по умолчанию, соответствует системной локали. Все эти названия (Russian_Russia.1251 и прочие), берутся из переменной среды LANG (http://docs.python.org/library/locale.html).
« Последнее редактирование: 26 Декабрь 2011, 14:01 от Клио » Записан

ubuntu 12.04 + LibO3.6.0
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!