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

Можете, пожалуйста, мне это реализовать перейти

Можно просто - да или нет?
Romissevd
я уже реализовал в примере выше.
ты знаешь что python и php это разные ЯП? И стандартные функции одного, являются стандартными только для него. Может быть, что название методов, функции и параметров совпадут, но очень мало вероятно
Romissevd
Что ты хочешь получить? У тебя есть конкретное время и тебе его нужно перевести в формат с AM и PM?
py.user.next
  
>>> import datetime
>>> now = datetime.datetime.now()
>>> '{:%H:%M %p}'.format(now)
'01:17 AM'
>>>
SharkyEXE
py.user.next

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

Не показывается

Пожалуйста, если можете, помогите прикрутить это решение перейти

Там принцип - определять через остаток от деления. Остаток от деления показывает время до 12 дня или после (сравнение с 43200 секунд) и в переменную заносится строка AM или PM

PS. У меня не стандартное, не шаблонное, не просто решение проблемы будет, типа какой-то “велосипед”, “костыль”
Romissevd
Так что ли?
 def strftime(seconds):
    p = 'AM'
    hour = seconds//3600
    if hour >= 12:
        hour -= 12
        p = 'PM'
    minutes = seconds%3600//60
    return '{h}:{m} {p}'.format(h=hour, m=minutes, p=p)
print(strftime(50220))
py.user.next
SharkyEXE
Не показывается
Что это за скриншот, откуда он? Скорее всего, у тебя что-то с полем вывода. Сделай вывод в простой консоли питона и увидишь, что там всё есть. Очень сомнительно, что у тебя проблема в локали или низкоуровневой библиотеке.
SharkyEXE
Всем здравствуйте.

В общем, пусть и дебильно, но заработало

   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')

Только одно но, как я понял, из интернета перейти, эта версия не учитывает смещение по времени, у меня смещение (UTC+03:00)

Пожалуйста, поправьте код, чтобы учитывалось смещение времени

Типа
 ts = int(strftime("%s")) + strftime("%z")
Или другой рабочий способ

Romissevd

Пробовал Ваш код - не заработало перейти

Пожалуйста, напишите версию по проще, без наворотов, если можно, мне по простому, по тупому, без рюшечек, мне для понимания побольше, а не “красивше код”, просьба понять, я не супер программист, но хочу немного понять… Извините

Спасибо.
Romissevd
SharkyEXE
Пробовал Ваш код - не заработало
Пробел в самом начале в первой строке убери и все работает
Куда же еще проще?
Давай начнем с тебя…
Объясни что это
 strftime("%s")
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