Hướng dẫn how do you manipulate a date in python? - làm thế nào để bạn thao tác một ngày trong python?

Khi sử dụng Python, tất cả chúng ta đều có khoảnh khắc cố gắng tìm ra cách để thao túng ngày và giờ.

Đây là một bảng gian lận mà tôi đã tạo bao gồm các chức năng liên quan đến DateTime được sử dụng phổ biến nhất trong Python. Nếu bạn muốn một cái gì đó đơn giản nhưng thực tế với các ví dụ, hãy xem!

Chúng tôi sẽ bao gồm tất cả 7 chủ đề phổ biến dưới đây:

  • Ngày hôm nay ngày và giờ ở các định dạng khác nhau
  • Chuỗi chuyển đổi ngày
  • Sự khác biệt trong tính toán DateTime
  • DateTime Plus/trừ một thời gian cụ thể
  • So sánh DateTime
  • Cài đặt múi giờ
  • Tính toán thời gian / thời gian của UNIX

Ngày hôm nay ngày và giờ ở các định dạng khác nhau

Chuỗi chuyển đổi ngày

In: from datetime import datetime    
    d = datetime.now() #today's datetime
    d
Out:datetime.datetime(2019, 12, 22, 13, 14, 18, 193898)

Sự khác biệt trong tính toán DateTime

In:  print(d.weekday()) #day of week - Monday is 0 and Sunday is 6
     print(d.year)
     print(d.month)
     print(d.day)
     print(d.hour)
     print(d.minute)
     print(d.second)
Out: 6
     2019
     12
     22
     13
     14
     18

DateTime Plus/trừ một thời gian cụ thể

Hướng dẫn how do you manipulate a date in python? - làm thế nào để bạn thao tác một ngày trong python?
In:  print(d.strftime("%A %d/%m/%Y")) # date to string
Out: Sunday 22/12/2019

Chuỗi chuyển đổi ngày

Sự khác biệt trong tính toán DateTime

In:  date_string = '2016-02-01 12:00PM'
     print(datetime.strptime(date_string, '%Y-%m-%d %I:%M%p'))
Out: 2016-02-01 12:00:00
In:  date_string = '02/01/2016'
     d2 = datetime.strptime(date_string, '%m/%d/%Y')
     print(d2)
Out: 2016-02-01 00:00:00

Sự khác biệt trong tính toán DateTime

DateTime Plus/trừ một thời gian cụ thể

In:  from datetime import timedelta     
     
     d = datetime.now()
     date_string = '2/01/2016'
     d2 = datetime.strptime(date_string, '%m/%d/%Y')
     
     print(d - d2)
Out: 1420 days, 13:18:27.386763

So sánh DateTime

In:  date_diff = (d - d2)/timedelta(days=1)
     print('date_diff = {} days'.format(date_diff))
Out: date_diff = 1420.5544836430902 days
In:  date_diff = (d - d2)/timedelta(weeks=1)
     print('date_diff = {} weeks'.format(date_diff))
Out: date_diff = 202.93635480615575 weeks
In:  date_diff = (d - d2)/timedelta(days=365)
     print('date_diff = {} years'.format(date_diff))
Out: date_diff = 3.8919300921728497 years

DateTime Plus/trừ một thời gian cụ thể

So sánh DateTime

In:  print(d + timedelta(seconds=1)) # today + one second     
     print(d + timedelta(minutes=1)) # today + one minute     
     print(d + timedelta(hours=1)) # today + one hour  
     print(d + timedelta(days=1)) # today + one day
     print(d + timedelta(weeks=1)) # today + one week
     print(d + timedelta(days=1)*365) # today + one year
Out: 2019-12-22 13:18:28.386763
     2019-12-22 13:19:27.386763
     2019-12-22 14:18:27.386763
     2019-12-23 13:18:27.386763
     2019-12-29 13:18:27.386763
     2020-12-21 13:18:27.386763

So sánh DateTime

Cài đặt múi giờ

In:  print(d < (d2 +(timedelta(days=365*6)))) # d is no more than 6 years (assume each year has 365 days) after d2?
     print(d > (d2 +(timedelta(weeks=52*6)))) # d is more than 6 years (assume each year has 52 weeks) after d2?
     print(d != d2) # d2 is not the same date as d?
     print(d == d2) # d2 is the same date as d?
Out: True
     False
     True
     False

Cài đặt múi giờ

Tính toán thời gian / thời gian của UNIX

In:  import pytz
     timezone = pytz.timezone("America/Toronto")
     dtz = timezone.localize(d)
     print(dtz.tzinfo)
     print(dtz)
Out: America/Toronto
     2019-12-22 13:18:27.386763-05:00
In:  shanghai_dt = dtz.astimezone(pytz.timezone("Asia/Shanghai"))
     print(shanghai_dt)
Out: 2019-12-23 02:18:27.386763+08:00
In:  (dtz - shanghai_dt)/timedelta(days=1) # same datetimes
Out: 0.0

Hãy để khởi động từ cơ bản nhất. Dưới đây là mã in năm, tháng, ngày, giờ, phút, giây, giây và mili giây hiện tại.

In:  for tz in pytz.all_timezones:
        print(tz)
Out: Africa/Abidjan
     Africa/Accra
     Africa/Addis_Ababa
(Only showing the first three as examples)

Tính toán thời gian / thời gian của UNIX

Hãy để khởi động từ cơ bản nhất. Dưới đây là mã in năm, tháng, ngày, giờ, phút, giây, giây và mili giây hiện tại.

Đây là thông tin tiện dụng, nhưng thường thì chúng ta chỉ cần một phần của nó. Chúng ta có thể in các phần khác nhau dưới đây.

In:  print(d.weekday()) #day of week - Monday is 0 and Sunday is 6
     print(d.year)
     print(d.month)
     print(d.day)
     print(d.hour)
     print(d.minute)
     print(d.second)
Out: 6
     2019
     12
     22
     13
     14
     18
0

Hơn nữa, các định dạng cụ thể của ngày/giờ có thể cần thiết. Chúng tôi có thể sử dụng danh sách dưới đây để tùy chỉnh các định dạng ngày khác nhau. Điều này cũng có thể được coi là một cách chuyển đổi ngày thành chuỗi. Danh sách đầy đủ có thể được tìm thấy ở đây.

In:  print(d.weekday()) #day of week - Monday is 0 and Sunday is 6
     print(d.year)
     print(d.month)
     print(d.day)
     print(d.hour)
     print(d.minute)
     print(d.second)
Out: 6
     2019
     12
     22
     13
     14
     18
1

Làm thế nào để bạn thay đổi ngày trong Python?

Chức năng thay thế () được sử dụng để thay thế nội dung của đối tượng DateTime bằng các tham số đã cho ...
Cú pháp: datetime_object.replace (năm, tháng, ngày, giờ, phút, thứ hai, microsecond, tzinfo).
Parameters:.
Trả về: Nó trả về đối tượng DateTime đã sửa đổi ..

Làm thế nào để bạn tạo một ngày tùy chỉnh trong Python?

Để tạo một ngày, chúng ta có thể sử dụng lớp DateTime () (Trình xây dựng) của mô -đun DateTime.Lớp DateTime () yêu cầu ba tham số để tạo một ngày: năm, tháng, ngày.use the datetime() class (constructor) of the datetime module. The datetime() class requires three parameters to create a date: year, month, day.

Làm cách nào để định dạng một ngày cụ thể trong Python?

Ví dụ 15: định dạng ngày sử dụng strftime ()..
%Y - năm [0001, ..., 2018, 2019, ..., 9999].
%M - Tháng [01, 02, ..., 11, 12].
%d - ngày [01, 02, ..., 30, 31].
%H - giờ [00, 01, ..., 22, 23 ..
%M - phút [00, 01, ..., 58, 59].
%S - thứ hai [00, 01, ..., 58, 59].

Làm thế nào để bạn thay đổi một ngày trong một chuỗi trong Python?

Chúng ta có thể chuyển đổi định dạng chuỗi thành DateTime bằng cách sử dụng hàm strptime ().Chúng tôi sẽ sử dụng định dạng '%y/%m/%d' để đưa chuỗi vào DateTime.Tham số: Đầu vào là chuỗi DateTime.using the strptime() function. We will use the '%Y/%m/%d' format to get the string to datetime. Parameter: input is the string datetime.