Định dạng nào sẽ hiển thị ngày trong tuần bằng Python?

Định dạng nào sẽ hiển thị ngày trong tuần bằng Python?

pandey shekhar

Làm theo

Ngày 28 tháng 12 năm 2019

·

2 phút đọc

Xử lý ngày giờ của các định dạng khác nhau trong Python

Chúng tôi sẽ bắt đầu với ví dụ cơ bản để trích xuất ngày và giờ hiện tại

Python cung cấp một mô-đun datetime, trong đó có một lớp datetime và nó có một phương thức now()

từ datetime nhập datetime

Để có được thời gian ngày hiện tại bằng cách sử dụng now()

# to get current date and time
dateTimeObj = datetime.now()
print(dateTimeObj)
Output:
2019-12-29 00:57:34.108728

Trích xuất các phần tử khác nhau của đối tượng ngày giờ

print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4

Chỉ trích xuất ngày hiện tại
Giả sử chúng tôi không muốn dấu thời gian hiện tại đầy đủ, chúng tôi chỉ quan tâm đến ngày hiện tại.

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29

Chỉ trích xuất thời gian hiện tại
Giả sử chúng tôi chỉ muốn trích xuất thời gian hiện tại, tôi. e loại trừ phần ngày tháng

timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910

Chuyển đổi đối tượng ngày giờ thành chuỗi.
Chúng ta cần sử dụng strftime(datetime,

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'

Chuyển chuỗi thành đối tượng ngày giờ.
Chúng ta cần sử dụng strptime(date_string,

datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56

Chuỗi đến ngày

date_str = '2019-12-28'
dateObj = datetime.strptime(date_str, '%Y-%m-%d').date()
print(dateObj)
Output:
2019-12-28

Chuỗi thời gian

time_str = '13:55:26'
timeObj = datetime.strptime(time_str, '%H:%M:%S').time()
print(timeObj)
Output:
13:55:26

Chỉ thị định dạng ngày/giờ Python
%a. Ngày trong tuần là tên viết tắt của ngôn ngữ. CN , thứ
%A. Ngày trong tuần là tên đầy đủ của ngôn ngữ. Chủ Nhật, Thứ Hai, …
%w. Ngày trong tuần dưới dạng số thập phân, trong đó 0 là Chủ nhật và 6 là Thứ bảy.
%d. Ngày trong tháng dưới dạng số thập phân không đệm.
%b. Tháng là tên viết tắt của ngôn ngữ. Tháng 1, tháng 2
%B. Tháng là tên đầy đủ của ngôn ngữ. Tháng 1
%m. Tháng dưới dạng số thập phân không đệm.
%y. Năm không có thế kỷ dưới dạng số thập phân không đệm.
%Y. Năm với thế kỷ dưới dạng số thập phân.
%H. Giờ (đồng hồ 24 giờ) dưới dạng số thập phân không đệm.
%I. Giờ (đồng hồ 12 giờ) dưới dạng số thập phân không đệm.
%p. Ngôn ngữ tương đương với AM hoặc PM.
%M. Phút dưới dạng số thập phân không đệm.
%S. Thứ hai dưới dạng số thập phân không đệm.
%f. Micrô giây dưới dạng số thập phân, được đệm bằng 0 ở bên trái.
%z. Độ lệch UTC ở dạng ±HHMM[SS] (chuỗi trống nếu đối tượng ngây thơ).
%Z. Tên múi giờ (chuỗi trống nếu đối tượng ngây thơ).
%j. Ngày trong năm dưới dạng số thập phân không đệm.
%U. Số tuần của năm (Chủ Nhật là ngày đầu tiên của tuần) dưới dạng số thập phân có đệm là 0.
Tất cả các ngày trong năm mới trước Chủ nhật đầu tiên được coi là trong tuần 0.
%W. Số tuần của năm (thứ hai là ngày đầu tuần) dưới dạng số thập phân.
Tất cả các ngày trong năm mới trước ngày thứ Hai đầu tiên được coi là trong tuần 0.
%c. Đại diện ngày và giờ thích hợp của ngôn ngữ.
%x. Đại diện ngày thích hợp của địa phương.
%X. Đại diện thời gian thích hợp của địa phương.
%%. Ký tự ‘%’ theo nghĩa đen.

Xử lý ngày và giờ trong Python có thể phức tạp. Rất may, có một cách tích hợp để làm cho nó dễ dàng hơn. mô-đun ngày giờ Python

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 giúp chúng tôi xác định và xử lý các yếu tố liên quan đến thời gian như ngày, giờ, phút, giây, ngày trong tuần, tháng, năm, v.v. Nó cung cấp các dịch vụ khác nhau như quản lý múi giờ và thời gian tiết kiệm ánh sáng ban ngày. Nó có thể hoạt động với dữ liệu dấu thời gian. Nó có thể trích xuất ngày trong tuần, ngày trong tháng và các định dạng ngày và giờ khác từ chuỗi

Nói tóm lại, đó là một cách thực sự hiệu quả để xử lý mọi thứ liên quan đến ngày và giờ trong Python. Vì vậy, chúng ta hãy đi vào nó

Trong hướng dẫn này, chúng ta sẽ tìm hiểu chi tiết về các hàm datetime của python, bao gồm

  • Tạo đối tượng ngày
  • Lấy năm và tháng kể từ ngày
  • Nhận ngày tháng và ngày trong tuần từ ngày
  • Nhận giờ và phút từ ngày
  • Lấy số Tuần của năm kể từ ngày
  • Chuyển đổi đối tượng ngày thành dấu thời gian
  • Chuyển đổi chuỗi dấu thời gian UNIX thành đối tượng ngày
  • Xử lý các đối tượng timedelta
  • Nhận sự khác biệt giữa hai ngày và thời gian
  • định dạng ngày. strftime() và strptime()
  • Xử lý múi giờ
  • Làm việc với các đối tượng ngày giờ của Pandas
    • Nhận năm, tháng, ngày, giờ và phút
    • Nhận ngày trong tuần và ngày trong năm
    • Chuyển đổi các đối tượng ngày thành chỉ mục DataFrame

Khi bạn hoàn thành hướng dẫn này, chúng tôi khuyến khích bạn chạy mã trên máy của chính mình. Ngoài ra, nếu bạn muốn chạy mã trong trình duyệt của mình và học theo cách tương tác với kiểm tra câu trả lời để chắc chắn rằng bạn hiểu đúng, khóa học Python trung cấp của chúng tôi có một bài học về ngày giờ trong Python mà chúng tôi khuyên dùng. Bạn có thể bắt đầu học bằng cách đăng ký tài khoản người dùng miễn phí

Học kỹ năng dữ liệu

Được tăng lương tiếp theo hoặc chuyển sang sự nghiệp trong khoa học dữ liệu bằng cách học các kỹ năng dữ liệu

Đăng ký tài khoản miễn phí và thử các khóa học tương tác của chúng tôi về Python, R, SQL, v.v.

Đăng ký ngay

(Nó miễn phí)

Các lớp ngày giờ trong Python

Trước khi bắt tay vào viết mã, bạn nên xem qua năm lớp đối tượng chính được sử dụng trong mô-đun 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6. Tùy thuộc vào những gì chúng tôi đang cố gắng thực hiện, chúng tôi có thể sẽ cần sử dụng một hoặc nhiều lớp riêng biệt này

  • datetime – Cho phép chúng ta thao tác với thời gian và ngày tháng cùng nhau (tháng, ngày, năm, giờ, giây, micro giây)
  • ngày – Cho phép chúng tôi thao tác ngày không phụ thuộc vào thời gian (tháng, ngày, năm)
  • thời gian – Cho phép chúng tôi thao tác với thời gian không phụ thuộc vào ngày (giờ, phút, giây, micro giây)
  • timedelta— Khoảng thời gian được sử dụng để thao tác ngày và đo lường
  • tzinfo— Một lớp trừu tượng để xử lý các múi giờ

Nếu những khác biệt đó chưa có ý nghĩa, đừng lo lắng. Hãy cùng tìm hiểu sâu về 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 và bắt đầu làm việc với nó để hiểu rõ hơn cách những điều này được áp dụng

Tạo đối tượng ngày

Trước tiên, chúng ta hãy xem xét kỹ hơn một đối tượng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6. Vì 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 vừa là một mô-đun vừa là một lớp trong mô-đun đó, nên chúng ta sẽ bắt đầu bằng cách nhập lớp 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 từ mô-đun 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6

Sau đó, chúng tôi sẽ in ngày và giờ hiện tại để xem xét kỹ hơn nội dung chứa trong đối tượng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6. Chúng ta có thể làm điều này bằng cách sử dụng hàm 
print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
75 của 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6. Chúng tôi sẽ in đối tượng ngày giờ của mình, sau đó cũng in loại của nó bằng cách sử dụng 
print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
76 để chúng tôi có thể xem xét kỹ hơn

print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
9
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
0

Từ các kết quả trên, chúng ta có thể thấy rằng

print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
77 thực sự là một đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 của lớp 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 . Điều này bao gồm năm, tháng, ngày, giờ, phút, giây và micro giây

Trích xuất Năm và Tháng từ Ngày

Bây giờ, chúng ta đã biết những gì tạo nên một đối tượng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6, chúng ta có thể đoán các đối tượng 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
51 và 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
52 có hình dáng như thế nào, bởi vì chúng ta biết rằng các đối tượng 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
51 giống như 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 không có dữ liệu thời gian và các đối tượng 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
52 giống như 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 không có dữ liệu ngày tháng

Chúng ta cũng có thể đoán trước một số vấn đề. Ví dụ: trong hầu hết các bộ dữ liệu, thông tin ngày và giờ được lưu trữ ở định dạng chuỗi. Ngoài ra, chúng tôi có thể không muốn tất cả dữ liệu ngày và giờ này — nếu chúng tôi đang làm điều gì đó như phân tích doanh số bán hàng hàng tháng, thì việc chia nhỏ mọi thứ theo micro giây sẽ không hữu ích lắm

Vì vậy, bây giờ, hãy bắt đầu đào sâu vào một nhiệm vụ phổ biến trong khoa học dữ liệu. chỉ trích xuất các phần tử mà chúng ta thực sự muốn từ một chuỗi bằng cách sử dụng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6

Để làm được điều này, chúng ta cần làm một số việc

Xử lý chuỗi ngày và giờ với strptime() và strftime()

Rất may,

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 bao gồm hai phương thức, 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 và 
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
40, để chuyển đổi đối tượng từ chuỗi thành đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 và ngược lại.
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 có thể đọc các chuỗi có thông tin ngày và giờ và chuyển đổi chúng thành đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 và 
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
40 chuyển đổi đối tượng ngày giờ thành chuỗi

Tất nhiên, 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 không phải là phép thuật — nó không thể biến bất kỳ chuỗi nào thành ngày và giờ và nó sẽ cần một chút trợ giúp từ chúng tôi để diễn giải những gì nó nhìn thấy. Tuy nhiên, nó có khả năng đọc hầu hết các định dạng chuỗi thông thường cho dữ liệu ngày và giờ (xem tài liệu để biết thêm chi tiết). Hãy đặt cho nó một chuỗi ngày ở định dạng YYYY-MM-DD và xem nó có thể làm gì

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
0
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
1

Lưu ý rằng

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 lấy hai đối số. chuỗi (
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
47) và 
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
48, một chuỗi khác cho biết 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 cách diễn giải chuỗi đầu vào 
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
47. Ví dụ,
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
71 yêu cầu nó mong đợi bốn ký tự đầu tiên của chuỗi là năm

Danh sách đầy đủ các mẫu này có sẵn trong tài liệu và chúng ta sẽ đi sâu hơn vào các phương pháp này sau trong hướng dẫn này

Bạn cũng có thể nhận thấy rằng thời gian 

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
72 đã được thêm vào ngày. Đó là bởi vì chúng ta đã tạo một đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6, đối tượng này phải bao gồm ngày và giờ.
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
72 là thời gian mặc định sẽ được chỉ định nếu không có thời gian nào được chỉ định trong chuỗi chúng tôi đang nhập

Dù sao, chúng tôi đã hy vọng tách ra các yếu tố cụ thể của ngày để phân tích. Có một cách có thể thực hiện điều đó bằng cách sử dụng thuộc tính lớp tích hợp của đối tượng ngày giờ, chẳng hạn như 

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
75 hoặc 
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
76

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
7

Học Python đúng cách

Học Python bằng cách viết mã Python từ ngày đầu tiên, ngay trong cửa sổ trình duyệt của bạn. Đó là cách tốt nhất để học Python — hãy tự mình khám phá một trong hơn 60 bài học miễn phí của chúng tôi

Định dạng nào sẽ hiển thị ngày trong tuần bằng Python?

Hãy thử yêu cầu dữ liệu

Nhận ngày trong tháng và ngày trong tuần từ một ngày

Hãy thực hiện thêm một số trích xuất, bởi vì đó là một nhiệm vụ thực sự phổ biến. Lần này, chúng tôi sẽ cố gắng lấy ngày trong tháng và ngày trong tuần từ

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
77. Datetime sẽ cung cấp cho chúng ta ngày trong tuần dưới dạng số bằng cách sử dụng hàm 
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
78 nhưng chúng ta có thể chuyển đổi dữ liệu này sang định dạng văn bản (i. e. Thứ Hai, Thứ Ba, Thứ Tư…) bằng cách sử dụng mô-đun 
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
79 và một phương thức có tên là 
datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56
80

Chúng tôi sẽ bắt đầu bằng cách nhập 

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
79, sau đó sử dụng 
datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56
82 và 
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
78 trên 
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
77. Từ đó, chúng ta có thể lấy ngày trong tuần ở định dạng văn bản như vậy

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
5
timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
4

Đợi một chút, điều đó có vẻ hơi kỳ lạ. Ngày thứ ba trong tuần phải là Thứ Tư chứ không phải Thứ Năm, phải không?

Chúng ta hãy xem xét kỹ hơn biến 

datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56
80 đó bằng cách sử dụng vòng lặp for

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
7
datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56
8

Bây giờ chúng ta có thể thấy rằng Python bắt đầu các tuần vào thứ Hai và tính từ chỉ số 0 thay vì bắt đầu từ 1. Vì vậy, thật hợp lý khi số 3 được chuyển thành “thứ năm” như chúng ta đã thấy ở trên

Nhận giờ và phút từ một đối tượng thời gian Python

Bây giờ, hãy tìm hiểu về thời gian và trích xuất giờ và phút từ đối tượng datetime. Giống như những gì chúng ta đã làm ở trên với tháng và năm, chúng ta có thể sử dụng các thuộc tính lớp _______586 và 

datetime_str = '28/12/2019 22:35:56'
datetime_obj = datetime.strptime(datetime_str, '%d/%m/%Y %H:%M:%S')
print(datetime_obj)
Output:
2019-12-28 22:35:56
87 để lấy giờ và phút trong ngày

Hãy đặt ngày giờ mới bằng hàm 

print(f"day: {dateTimeObj.day}, month:{dateTimeObj.month},\
year:{dateTimeObj.year} hour:{dateTimeObj.hour}, \
minute:{dateTimeObj.minute}, second:{dateTimeObj.second}")
Output:
day: 29, month:12,year:2019 hour:0, minute:41, second:4
75 . Khi viết bài này, đó là ngày 25 tháng 10 năm 2019 lúc 10. 25 giờ sáng. Tất nhiên, bạn sẽ nhận được các kết quả khác nhau tùy thuộc vào thời điểm bạn chọn chạy mã này

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
00
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
01

Nhận tuần của năm từ một đối tượng ngày giờ

Chúng ta cũng có thể làm những điều thú vị hơn với 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6. Ví dụ, nếu chúng ta muốn biết tuần đó là thứ mấy trong năm thì sao?

Chúng ta có thể lấy năm, tuần trong năm và ngày trong tuần từ một đối tượng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 với hàm 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
001

Cụ thể, 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
002 trả về một bộ có năm ISO, số tuần và ngày trong tuần. Lịch ISO là lịch tiêu chuẩn được sử dụng rộng rãi dựa trên lịch Gregorian. Bạn có thể đọc về nó chi tiết hơn tại liên kết đó, nhưng với mục đích của chúng tôi, tất cả những gì chúng tôi cần biết là nó hoạt động như một lịch thông thường, bắt đầu mỗi tuần vào Thứ Hai

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
02
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
03

Lưu ý rằng trong lịch ISO, tuần bắt đầu được tính từ 1, vì vậy ở đây 5 đại diện cho ngày chính xác trong tuần. Thứ sáu

Ở phần trên, chúng ta có thể thấy rằng đây là tuần thứ 43 của năm, nhưng nếu chúng ta muốn tách riêng con số đó, chúng ta có thể làm như vậy bằng cách lập chỉ mục giống như chúng ta có thể làm cho bất kỳ danh sách hoặc bộ Python nào khác

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
04
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
05

Chuyển đổi một đối tượng ngày thành Dấu thời gian Unix và ngược lại

Trong lập trình, không có gì lạ khi gặp phải dữ liệu ngày và giờ được lưu trữ dưới dạng dấu thời gian hoặc muốn lưu trữ dữ liệu của riêng bạn ở định dạng dấu thời gian Unix

Chúng ta có thể làm điều đó bằng cách sử dụng hàm 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
003 tích hợp sẵn của datetime, hàm này lấy một đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 làm đối số và trả về ngày và giờ đó ở định dạng dấu thời gian

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
06
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
07

Tương tự, chúng ta có thể thực hiện chuyển đổi ngược lại bằng cách sử dụng

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
005. Đây là hàm 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 lấy dấu thời gian (ở định dạng float) làm đối số và trả về đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6, như bên dưới

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
08
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
09

Định dạng nào sẽ hiển thị ngày trong tuần bằng Python?

Đo khoảng thời gian với các đối tượng Timedelta

Thông thường, chúng ta có thể muốn đo khoảng thời gian hoặc khoảng thời gian bằng Python datetime. Chúng ta có thể làm điều này với lớp ______2008 được tích hợp sẵn. Đối tượng 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
008 biểu thị khoảng thời gian giữa hai ngày hoặc thời gian. Chúng ta có thể sử dụng điều này để đo khoảng thời gian hoặc thao tác ngày tháng hoặc thời gian bằng cách cộng và trừ chúng, v.v.

Theo mặc định, một đối tượng timedelta có tất cả các tham số được đặt thành 0. Hãy tạo một đối tượng timedelta mới dài hai tuần và xem nó trông như thế nào

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
00
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
01

Lưu ý rằng chúng ta có thể lấy khoảng thời gian tính bằng ngày bằng cách sử dụng thuộc tính lớp

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
008 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
011. Như chúng ta có thể thấy trong tài liệu của nó, chúng ta cũng có thể nhận được khoảng thời gian này tính bằng giây hoặc micro giây

Hãy tạo một khoảng thời gian timedelta khác để thực hành thêm một chút

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
02
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
03

Bây giờ, hãy bắt đầu sử dụng các đối tượng timedelta cùng với các đối tượng datetime để thực hiện một số phép toán. Cụ thể, hãy thêm một vài khoảng thời gian khác nhau vào ngày giờ hiện tại để xem sau 15 ngày nữa sẽ là ngày nào, hai tuần trước là ngày nào

Để làm điều này, chúng ta có thể sử dụng các toán tử 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
012 hoặc 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
013 để cộng hoặc trừ đối tượng timedelta với/từ một đối tượng datetime. Kết quả sẽ là đối tượng datetime cộng hoặc trừ khoảng thời gian được chỉ định trong đối tượng timedelta của chúng tôi. Mát mẻ, phải không?

(Ghi chú. trong đoạn mã dưới đây, đó là ngày 25 tháng 10 lúc 11 giờ. 12 giờ sáng;

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
04
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
05

Lưu ý rằng đầu ra của các phép toán này vẫn là một đối tượng

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6

Học kỹ năng dữ liệu

Được tăng lương tiếp theo hoặc chuyển sang sự nghiệp trong khoa học dữ liệu bằng cách học các kỹ năng dữ liệu

Đăng ký tài khoản miễn phí và thử các khóa học tương tác của chúng tôi về Python, R, SQL, v.v.

Đăng ký ngay

(Nó miễn phí)

Tìm sự khác biệt giữa hai ngày và giờ

Tương tự như những gì chúng tôi đã làm ở trên, chúng tôi cũng có thể trừ một ngày khỏi một ngày khác để tìm khoảng thời gian giữa chúng bằng cách sử dụng datetime

Bởi vì kết quả của phép toán này là một khoảng thời gian, nên đối tượng được tạo ra khi chúng ta trừ một ngày khỏi một ngày khác sẽ là một đối tượng 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
008

Tại đây, chúng ta sẽ tạo hai đối tượng 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
51 (hãy nhớ rằng, những đối tượng này hoạt động giống như đối tượng ________ 86, chỉ là chúng không bao gồm dữ liệu thời gian) và lấy đối tượng trừ đi một đối tượng để tìm khoảng thời gian

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
06
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
07

Ở trên, chúng tôi chỉ sử dụng ngày tháng để làm rõ, nhưng chúng tôi có thể làm điều tương tự với các đối tượng

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 để có được phép đo chính xác hơn bao gồm cả giờ, phút và giây

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
08
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
09

Định dạng nào sẽ hiển thị ngày trong tuần bằng Python?

Định dạng ngày. Tìm hiểu thêm về strftime() và strptime()

Chúng tôi đã đề cập ngắn gọn về 

timeObj = datetime.now().time()
print(timeObj)
Output:
00:52:02.925910
40 và 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 trước đó, nhưng chúng ta hãy xem xét kỹ hơn các phương pháp này vì chúng thường quan trọng đối với công việc phân tích dữ liệu trong Python

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 là phương thức chúng ta đã sử dụng trước đây và bạn sẽ nhớ lại rằng phương thức này có thể biến ngày và giờ được định dạng dưới dạng chuỗi văn bản thành đối tượng ngày giờ theo định dạng sau

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
024

Lưu ý rằng phải mất hai đối số

  • chuỗi − thời gian ở định dạng chuỗi mà chúng ta muốn chuyển đổi
  • format − định dạng cụ thể của thời gian trong chuỗi, để strptime() có thể phân tích cú pháp chính xác

Lần này, hãy thử chuyển đổi một loại chuỗi ngày khác. Trang web này là một tài liệu tham khảo thực sự hữu ích để tìm mã định dạng cần thiết nhằm giúp 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
59 diễn giải đầu vào chuỗi của chúng tôi

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
10
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
11

Bây giờ, hãy làm điều gì đó nâng cao hơn một chút để thực hành mọi thứ chúng ta đã học cho đến nay. Chúng ta sẽ bắt đầu với một ngày ở định dạng chuỗi, chuyển đổi nó thành một đối tượng ngày giờ và xem xét một số cách định dạng khác nhau (dd/mm và mm/dd)

Sau đó, gắn với định dạng mm/dd, chúng tôi sẽ chuyển đổi nó thành dấu thời gian Unix. Sau đó, chúng tôi sẽ chuyển đổi lại thành đối tượng 

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 và chuyển đổi ngược lại thành chuỗi bằng cách sử dụng một số mẫu strftime khác nhau để kiểm soát đầu ra

_______412____413

Đây là một hình ảnh mà bạn có thể lưu với một bảng gian lận cho các mẫu strptime và strftime phổ biến, hữu ích

Hãy thực hành thêm một chút bằng cách sử dụng những

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
14
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
15

Xử lý múi giờ

Làm việc với ngày và giờ trong Python thậm chí có thể phức tạp hơn khi có sự tham gia của các múi giờ. Rất may, mô-đun 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
027 đã tồn tại để giúp chúng tôi xử lý các lượt chuyển đổi giữa các múi giờ. Nó cũng xử lý thời gian tiết kiệm ánh sáng ban ngày ở những địa điểm sử dụng

Chúng ta có thể sử dụng hàm 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
028 để thêm vị trí múi giờ vào đối tượng datetime trong Python. Sau đó, chúng ta có thể sử dụng hàm 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
029 để chuyển đổi múi giờ địa phương hiện có thành bất kỳ múi giờ nào khác mà chúng ta chỉ định (hàm này lấy múi giờ mà chúng ta muốn chuyển đổi thành đối số)

Ví dụ

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
16____417

Mô-đun này có thể giúp cuộc sống trở nên đơn giản hơn khi làm việc với các tập dữ liệu bao gồm nhiều múi giờ khác nhau

Làm việc với các đối tượng Datetime của gấu trúc

Các nhà khoa học dữ liệu yêu thích 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
030 vì nhiều lý do. Một trong số đó là nó chứa các khả năng và tính năng mở rộng để làm việc với dữ liệu chuỗi thời gian. Giống như 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 chính nó, gấu trúc có cả hai đối tượng 
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 và 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
008 để chỉ định ngày, giờ và thời lượng tương ứng

Chúng ta có thể chuyển đổi các chuỗi văn bản ngày, giờ và thời lượng thành các đối tượng Datetime của gấu trúc bằng cách sử dụng các hàm này

  • to_datetime(). Chuyển đổi chuỗi ngày và giờ thành các đối tượng ngày giờ trong Python
  • to_timedelta(). Tìm sự khác biệt về thời gian theo ngày, giờ, phút và giây

Và như chúng ta sẽ thấy, các hàm này thực sự khá tốt trong việc chuyển đổi các chuỗi thành các đối tượng datetime của Python bằng cách tự động phát hiện định dạng của chúng mà không cần chúng ta xác định nó bằng các mẫu strftime

Hãy xem một ví dụ nhanh

datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
18
datetime_str = dateTimeObj.strftime("%B %d, %Y %A, %H:%M:%S")
print(datetime_str)
Output:
'December 29, 2019 Sunday, 00:57:34'
19

Lưu ý rằng mặc dù chúng tôi đã đặt cho nó một chuỗi có một số yếu tố phức tạp như “th” và “sep” thay vì “Sep. ” hoặc “Tháng 9”, pandas có thể phân tích chuỗi chính xác và trả về ngày đã định dạng

Chúng tôi cũng có thể sử dụng pandas (và một số chức năng numpy liên kết của nó) để tự động tạo phạm vi ngày dưới dạng pandas Series. Ví dụ: bên dưới, chúng tôi tạo một chuỗi mười hai ngày bắt đầu từ ngày chúng tôi đã xác định ở trên. Sau đó, chúng tôi tạo một chuỗi ngày khác bắt đầu từ một ngày được xác định trước bằng cách sử dụng 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
034

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
0
print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
1

Nhận Năm, Tháng, Ngày, Giờ, Phút trong gấu trúc

Chúng ta có thể dễ dàng lấy năm, tháng, ngày, giờ hoặc phút từ các ngày trong một cột của khung dữ liệu gấu trúc bằng cách sử dụng thuộc tính 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
035 cho tất cả các cột. Ví dụ: chúng ta có thể sử dụng 
dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
036 để chỉ trích xuất năm từ cột gấu trúc bao gồm ngày đầy đủ

Để khám phá điều này, hãy tạo một DataFrame nhanh bằng cách sử dụng một trong các Chuỗi mà chúng tôi đã tạo ở trên

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
2

ngày02019-08-1012019-08-1122019-08-1232019-08-1342019-08-14

Bây giờ, hãy tạo các cột riêng biệt cho từng thành phần của ngày tháng bằng cách sử dụng các thuộc tính ngày giờ có liên quan của Python (được truy cập bằng 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
035)

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
3

ngàynămthángngàygiờphút02019-08-1020198100012019-08-1120198110022019-08-1220198120032019-08-1320198130042019-08-14201981400

Nhận ngày trong tuần và ngày trong năm

Pandas cũng có khả năng lấy các yếu tố khác, như ngày trong tuần và ngày trong năm, từ các đối tượng ngày giờ của nó. Xin nhắc lại, chúng ta có thể sử dụng thuộc tính 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
035 để làm điều này. Lưu ý rằng ở đây, như trong Python nói chung, tuần bắt đầu vào Thứ Hai ở chỉ số 0, vì vậy ngày trong tuần thứ 5 là Thứ Bảy

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
4

ngàynămthángngàygiờphúttuầndayday_namedayofyear02019-08-102019810005Saturday22212019-08-112019811006Chủ nhật22322019-08-122019812000Monday22432019-08-132019813001Tuesday22592014002W6ed28

Chuyển đổi đối tượng ngày thành chỉ mục DataFrame

Chúng tôi cũng có thể sử dụng gấu trúc để tạo cột ngày giờ thành chỉ mục của Khung dữ liệu của chúng tôi. Điều này có thể rất hữu ích cho các tác vụ như trực quan hóa dữ liệu khám phá, bởi vì matplotlib sẽ nhận ra rằng chỉ mục DataFrame là một chuỗi thời gian và vẽ dữ liệu tương ứng

Để làm được điều này, tất cả những gì chúng ta phải làm là xác định lại 

dateObj = datetime.now().date()
print(dateObj)
Output:
2019-12-29
039

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
5

dateyearmonthdayhourminuteweekdayday_namedayofyeardate2019-08-102019-08-102019810005Saturday2222019-08-112019-08-112019811006Sunday2232019-08-122019-08-122019812000Monday2242019-08-132019-08-132019813001Tuesday2252019-08-142019-08-142019814002Wednesday226

Phần kết luận

Trong hướng dẫn này, chúng ta đã tìm hiểu sâu về thời gian của Python và cũng đã thực hiện một số công việc với gấu trúc và mô-đun lịch. Chúng tôi đã đề cập rất nhiều, nhưng hãy nhớ. cách tốt nhất để học điều gì đó là thực sự tự viết mã

Nếu bạn muốn thực hành viết mã

print('Month: ', my_date.month) # To Get month from date
print('Year: ', my_date.year) # To Get month from year
6 với tính năng kiểm tra câu trả lời tương tác, hãy xem khóa học Python trung cấp của chúng tôi để biết bài học về datetime trong Python với tính năng kiểm tra câu trả lời tương tác và chạy mã trong trình duyệt

Làm thế nào để Python tính toán các ngày trong tuần?

Lấy số ngày làm việc (các ngày trong tuần) giữa hai ngày mà không bị numpy .
Đầu tiên, lặp lại từ ngày bắt đầu đến ngày kết thúc một ngày bằng cách sử dụng hàm for loop và range()
Sử dụng hàm weekday() để kiểm tra xem ngày đó là ngày trong tuần hay cuối tuần
Nếu đó là một ngày trong tuần, sau đó thêm nó vào số lượng
In số cuối cùng

Định dạng của ngày trong Python là gì?

Ngày giờ định dạng Python . Việc sử dụng mm/dd/yyyy phổ biến hơn ở Hoa Kỳ, trong khi dd/mm/yyyy phổ biến hơn ở Vương quốc Anh. Python có các phương thức strftime() và strptime() để xử lý việc này.

Làm cách nào để in ngày kể từ ngày bằng Python?

Đầu tiên, ngày được cung cấp dưới dạng đầu vào chuỗi. Định nghĩa một danh sách với tên các ngày trong tuần có tên day_name. Sau đó, hàm strptime() định dạng chuỗi đầu vào thành DD. MM. định dạng YYYY. Cuối cùng, in ngày trong ngày bằng cách chỉ định số nguyên được trả về đó làm giá trị chỉ mục của danh sách day_name .

Ngày trong tuần được tính như thế nào trong gấu trúc?

Thuộc tính ngày trong tuần được sử dụng để lấy ngày trong tuần của một ngày nhất định . Ngày trong tuần với Thứ hai = 0, Chủ nhật = 6. Giả sử tuần bắt đầu vào thứ Hai, ký hiệu là 0 và kết thúc vào Chủ nhật, ký hiệu là 6. Phương thức này khả dụng trên cả Sê-ri có giá trị ngày giờ hoặc DatetimeIndex.