Найти - Пользователи
Полная версия: strftime %p не отображается AM или PM
Начало » Python для новичков » strftime %p не отображается AM или PM
1 2 3 4
SharkyEXE
Romissevd

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

Количество секунд с начала эпохи 01.01.1970
Romissevd
до сегодняшнего дня? и что в результате должно получиться?
SharkyEXE
Romissevd

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

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

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

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

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

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

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

Повторюсь, я не программист, много текста мне тяжело, код понятнее
Romissevd
попробуй так
 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')
SharkyEXE
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. Если можно, снабдите, пожалуйста, строки Вашего кода комментариями, я чуть-чуть научусь, как Вы сделали, что заработало
Romissevd
 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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB