Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Python DateTime, TimeDelta, Strftime (формат) с примерами

В Python дата, время и дата/время классы предоставляют ряд функций для работы с датами, временем и временными интервалами. Дата и дата и время в Python являются объектами, поэтому, когда вы манипулируете ими, вы на самом деле манипулируете объектами, а не строками или отметками времени. Всякий раз, когда вы манипулируете датами или временем, вам нужно импортировать функцию datetime.

Классы даты и времени в Python подразделяются на 5 основных классов.

В этом уроке мы изучим-

Как использовать класс Date &DateTime

Шаг 1 ) Прежде чем запускать код для формата даты и времени в Python, важно импортировать модули даты и времени Python, как показано на снимке экрана ниже.

Эти операторы импорта являются предопределенными элементами функциональности в библиотеке Python, которые позволяют вам манипулировать датами и временем без написания кода.

Рассмотрите следующие моменты перед выполнением кода формата даты и времени Python

from datetime import date

Эта строка указывает интерпретатору Python импортировать класс даты из модуля datetime в Python. Мы не пишем код для этой функции даты, увы, просто импортируем ее для нашего использования

Шаг 2 ) Затем мы создаем экземпляр объекта даты.

Шаг 3 ) Далее мы печатаем дату и запускаем код.

Вывод соответствует ожиданиям.

Вывести дату с помощью date.today()

date.today функция имеет несколько связанных с ней свойств. Мы можем печатать отдельные дни/месяцы/годы и многое другое

Давайте посмотрим на пример

Сегодняшний день недели

Функция date.today() также дает вам номер дня недели. Вот таблица будних дней, которая начинается с понедельника как 0 и воскресенья как 6

День
Номер дня недели
Понедельник
0
вторник
1
среда
2
четверг
3
пятница
4
Суббота
5
Воскресенье
6


Номер дня недели полезен для массивов, индекс которых зависит от дня недели.

Текущая дата и время Python:now() today()

Шаг 1) Как и объекты даты, мы также можем использовать "DATETIME OBJECTS". в Питоне. Объекты даты и времени Python предоставляют дату вместе со временем в часах, минутах, секундах и миллисекундах.

Когда мы выполняем код для datetime, он выдает текущую дату и время.

Шаг 2) С помощью «DATETIME OBJECT» вы также можете вызвать класс времени.

Предположим, мы хотим напечатать только текущее время без даты.

t = datetime.time(datetime.now())

И это даст мне как раз время. Итак, давайте запустим эту программу.

Итак, вы можете видеть, что здесь у меня есть дата и время. А потом следующая строчка, у меня как раз время само по себе

Шаг 3) Мы применим наш индексатор дня недели к массиву списка наших дней недели, чтобы узнать, какой сегодня день


Вот полный код для получения текущей даты и времени с помощью datetime now

from datetime import date
from datetime import time
from datetime import datetime
def main():
    ##DATETIME OBJECTS
    #Get today's date from datetime class
    today=datetime.now()
    #print (today)
    # Get the current time
    #t = datetime.time(datetime.now())
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    wd=date.weekday(today)
    #Days start at 0 for monday
    days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
    print("Today is day number %d" % wd)
    print("which is a " + days[wd])

if __name__== "__main__":
    main()

Как форматировать вывод даты и времени с помощью Strftime()

На данный момент мы узнали, как использовать дату и время и объект даты в Python. Мы сделаем еще один шаг и узнаем, как использовать функцию форматирования для форматирования времени и даты.

Шаг 1) Сначала мы увидим простой шаг, как отформатировать год. Лучше понять на примере.

Шаг 2) Теперь, если вы замените («%Y») строчными буквами, т. е. («%y»), и выполните код, на выходе будет отображаться только (18), а не (2018). Столетие года не будет отображаться, как показано на снимке экрана ниже

Шаг 3) Функция Strf может объявлять дату, день, месяц и год отдельно. Также с небольшими изменениями в управляющем коде в функции strftime можно отформатировать стиль текста.

Внутри функции strftime, если вы замените (%a) заглавной буквой A, т. е. (%A), вывод будет напечатан как «Пятница», а не просто как аббревиатура «Пятница».

Шаг 4) С помощью функции «Strftime» мы также можем получить локальное системное время, дату или и то, и другое.

  1. %C- указывает местную дату и время
  2. %x- указывает местную дату
  3. %X- указывает местное время

На выходе вы можете увидеть ожидаемый результат

Шаг 5) «Функция strftime» позволяет вам называть время в любом формате 24 часа или 12 часов.

Просто определив управляющий код, например %I/H для часа, %M для минуты, %S для секунды, можно вызывать время для разных форматов

12 часов объявлено время [print now.strftime("%I:%M:%S %p) ]

24 часа объявлено время [print now.strftime("%H:%M")]

Вот полный код для преобразования даты и времени в объект String.

#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print(now.strftime("%c"))
      print(now.strftime("%x"))
      print(now.strftime("%X"))
##### Time Formatting ####
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM
      print(now.strftime("%H:%M")) # 24-Hour:Minute

if __name__== "__main__":
    main()

Что такое Timedelta в Python?

Timedelta в Python объект, представляющий продолжительность. Он в основном используется для расчета продолжительности между двумя датами и временем. Он также используется для получения объекта с некоторой дельтой даты и времени. Объект timedelta поддерживает математические операции, такие как сложение, вычитание, умножение, деление и т. д.

Как использовать объекты Timedelta

С помощью объектов Python timedelta вы можете оценить время как для будущего, так и для прошлого. Другими словами, это временной интервал для предсказания любого особого дня, даты или времени.

Помните, что эта функция предназначена не для вывода времени или даты, а для РАСЧЕТА будущего или прошлого . Давайте посмотрим на пример дельты времени Python, чтобы лучше понять его.

Шаг 1) Чтобы запустить Timedelta Objects, вам нужно сначала объявить оператор импорта, а затем выполнить код

  1. Написать оператор импорта для timedelta
  2. Теперь напишите код для вывода объекта из разницы во времени, как показано на снимке экрана.
  3. Запустите код. Временная дельта представляет промежуток в 365 дней, 8 часов и 15 минут и печатает то же самое.

Сбивает с толку? Следующий шаг поможет-

Шаг 2) Давайте получим сегодняшнюю дату и время, чтобы проверить, хорошо ли работает наш оператор импорта. Когда код выполняется, он выводит сегодняшнюю дату, что означает, что наш оператор импорта работает правильно

Шаг 3) Мы увидим, как мы можем получить дату через год с помощью дельта-объектов. Когда мы запускаем код, он дает ожидаемый результат.

Шаг 4) Еще один пример того, как можно использовать дельту времени для расчета будущей даты по текущей дате и времени

Шаг 5) Рассмотрим более сложный пример. Я хотел бы определить, сколько дней после Нового года. Вот как мы будем действовать

Вывод показывает, что «Новый год уже прошел 11 дней назад».

Вот полный рабочий код

#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print (timedelta(days=365, hours=8, minutes=15))
# print today's date
print ("today is: " + str(datetime.now()))
# print today's date one year from now
print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365)))
# create a timedelta that uses more than one argument
# print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print ("New Year day is already went by %d days ago" % ((today - nyd).days))

Пример Python 2

from datetime import date
from datetime import time
from datetime import datetime
def main():
 	##DATETIME OBJECTS
    #Get today's date from datetime class
	today=datetime.now()
	#print today
	# Get the current time
	#t = datetime.time(datetime.now())
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"]
        print "Today is day number %d" % wd
        print "which is a " + days[wd]

if __name__== "__main__":
    main()
#
#Example file for formatting time and date output
#
from datetime import datetime
def main():
   #Times and dates can be formatted using a set of predefined string
   #Control codes
      now= datetime.now() #get the current date and time
      #%c - local date and time, %x-local's date, %X- local's time
      print now.strftime("%c")
      print now.strftime("%x")
      print now.strftime("%X")
##### Time Formatting ####   
      #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM
      print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM
      print now.strftime("%H:%M") # 24-Hour:Minute   

if __name__== "__main__":
    main()
#
# Example file for working with timedelta objects
#
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# construct a basic timedelta and print it
print timedelta(days=365, hours=8, minutes=15)
# print today's date
print "today is: " + str(datetime.now())
# print today's date one year from now
print "one year from now it will be:" + str(datetime.now() + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
today = date.today()  # get todays date
nyd = date(today.year, 1, 1)  # get New Year Day for the same year
# use date comparison to see if New Year Day has already gone for this year
# if it has, use the replace() function to get the date for next year
if nyd < today:
    print "New Year day is already went by %d days ago" % ((today - nyd).days)

Обзор

Для управления датами и временем как простыми, так и сложными способами модуль datetime предоставляет различные классы или категории, такие как

Использование объектов даты и времени

Формирование тайм-аута с помощью «функции времени str f»

Объекты Timedelta


Python

  1. Дата и время Python
  2. Как получить текущую дату и время в Python?
  3. Python Получить текущее время
  4. Модуль времени Python
  5. Сон питона ()
  6. Оператор Python Print():как печатать с примерами
  7. Количество строк Python() с ПРИМЕРАМИ
  8. Python String format() Объясните с ПРИМЕРАМИ
  9. Метод Python String find() с примерами
  10. Лямбда-функции Python с ПРИМЕРАМИ