Уведомления

Группа в Telegram: @pythonsu

#1 Июль 27, 2019 21:19:53

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

Romissevd

Здравствуйте.

Количество секунд с начала эпохи 01.01.1970

Офлайн

#2 Июль 27, 2019 21:21:54

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

до сегодняшнего дня? и что в результате должно получиться?

Офлайн

#3 Июль 27, 2019 21:22:52

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

Romissevd

В общем, мне по проще или Ваш вариант или сделать добавление смещения в моем коде

Иначе долгая болталка - мозг кипит, нервы напрягаются, а воз и ныне там

Офлайн

#4 Июль 27, 2019 21:29:14

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

просто объясни, что ты хочешь получить на выходе и при этом что у тебя на входе…я вот к примеру не пойму причем AM и PM к количеству времени от какой-то даты

Офлайн

#5 Июль 27, 2019 21:31:08

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

Romissevd

Здравствуйте.

Я Вам приводил картинки, ну никак у меня по тупому, по простому, по шаблону не показывается AM или PM

Я показал картинку, что у меня стало показываться AM или PM

Но там требуется смещение добавить

Что из этого вышенаписанного непонятно то?

Офлайн

#6 Июль 27, 2019 21:40:56

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

ну попробуй как то так
смещение переведи в число int умножь на 3600 получишь секунды прибавь или отними в зависимости от пояса секунды к начальным секундам и выполняй свою функцию, которую уже использовал

Офлайн

#7 Июль 27, 2019 21:42:11

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

Romissevd
А можно, пожалуйста, код?

Повторюсь, я не программист, много текста мне тяжело, код понятнее

Офлайн

#8 Июль 27, 2019 21:56:18

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

попробуй так

 tz = strftime('%z')
zone_hour = int(tz[:3])*3600
zone_minutes = int(tz[3:])
if zone_minutes > 0:
    zone_minutes = 1800
ts = int(strftime("%s")) + zone_hour + zone_minutes 
pr=''
if (ts%86400)<43200:
    pr='AM'
else:
    pr='PM'
return strftime('%H:%M:%S') + "\n" + strftime('%s') + "\n" + strftime('%l:%M') + " " + pr + " " + strftime('%z')

Офлайн

#9 Июль 27, 2019 22:10:47

SharkyEXE
Зарегистрирован: 2017-12-10
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

Romissevd

Огромное Вам спасибо.

С Вашим кодом так - верхняя картинка

С мои кодом

   ts = int(strftime("%s"))
   pr=''
   if (ts%86400)<43200:
    pr='AM'
   else:
    pr='PM'
   return strftime('%H:%M:%S') + "\n" + strftime('%s') + "\n" + strftime('%l:%M') + " " + pr + " " + strftime('%z')
так - нижняя картинка

Итого - все отлично

Огромное Вам спасибо.

PS. Если можно, снабдите, пожалуйста, строки Вашего кода комментариями, я чуть-чуть научусь, как Вы сделали, что заработало

Отредактировано SharkyEXE (Июль 27, 2019 22:27:15)

Прикреплённый файлы:
attachment imgonline-com-ua-2to1-F2M7RMTWH5HF8.jpg (26,8 KБ)

Офлайн

#10 Июль 27, 2019 22:25:17

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

strftime %p не отображается AM или PM

 tz = strftime('%z')
zone_hour = int(tz[:3])*3600 # получаем часовой пояс и переводим его в секунды
zone_minutes = int(tz[3:]) # т.к. часовой пояс может содержать еще 30 минут проверяем минуты
if zone_minutes > 0: # если минут больше нуля предполагаем что их 30
    zone_minutes = 1800 # 30 минут = 1800 секунд
ts = int(strftime("%s")) + zone_hour + zone_minutes # добавляем к начальным данным если пояс будет отрицательным, то автоматически отнимется, т.к. zone_hour будет равен - zone_hour

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version