Python strftime () - ngày giờ thành chuỗi

Trong bài viết này, bạn sẽ học cách chuyển đổi các đối tượng ngày, giờ và datetime thành chuỗi tương đương của nó (với sự trợ giúp của các ví dụ)

Các strftime()phương thức trả về một chuỗi tượng trưng cho ngày và thời gian sử dụng ngày, giờ hoặc datetime đối tượng.

Ví dụ 1: datetime thành chuỗi bằng cách sử dụng strftime ()

Chương trình dưới đây chuyển đổi một datetimeđối tượng chứa ngày và giờ hiện tại sang các định dạng chuỗi khác nhau.

  from datetime import datetime now = datetime.now() # current date and time year = now.strftime("%Y") print("year:", year) month = now.strftime("%m") print("month:", month) day = now.strftime("%d") print("day:", day) time = now.strftime("%H:%M:%S") print("time:", time) date_time = now.strftime("%m/%d/%Y, %H:%M:%S") print("date and time:",date_time) 

Khi bạn chạy chương trình, đầu ra sẽ giống như sau:

 năm: 2018 tháng: 12 ngày: 24 thời gian: 04:59:31 ngày và giờ: 24/12/2018, 04:59:31 

Ở đây, năm, ngày, giờ và date_time là chuỗi, trong khi bây giờ là một datetimeđối tượng.

Strftime () hoạt động như thế nào?

Trong chương trình trên, %Y, %m, %dvv là mã định dạng. Các strftime()phương pháp có một hoặc nhiều mã định dạng như một tham số và trả về một chuỗi định dạng dựa trên nó.

  1. Chúng tôi đã nhập datetimelớp từ datetimemô-đun. Đó là vì đối tượng của datetimelớp có thể truy cập strftime()phương thức.
  2. Đối datetimetượng chứa ngày và giờ hiện tại được lưu trữ trong biến now.
  3. Các strftime()phương pháp có thể được sử dụng để tạo ra chuỗi định dạng.
  4. Chuỗi bạn chuyển đến strftime()phương thức có thể chứa nhiều hơn một mã định dạng.

Ví dụ 2: Tạo chuỗi từ dấu thời gian

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) print("Date time object:", date_time) d = date_time.strftime("%m/%d/%Y, %H:%M:%S") print("Output 2:", d) d = date_time.strftime("%d %b, %Y") print("Output 3:", d) d = date_time.strftime("%d %B, %Y") print("Output 4:", d) d = date_time.strftime("%I%p") print("Output 5:", d) 

Khi bạn chạy chương trình, đầu ra sẽ là:

 Đối tượng thời gian ngày: 2018-06-12 09:55:22 Đầu ra 2: 06/12/2018, 09:55:22 Đầu ra 3: 12 Jun, 2018 Đầu ra 4: 12 Tháng 6, 2018 Đầu ra 5: 09AM 

Định dạng danh sách mã

Bảng bên dưới hiển thị tất cả các mã mà bạn có thể chuyển cho strftime()phương thức.

Chỉ thị Ý nghĩa Thí dụ
%a Tên ngày trong tuần viết tắt. Sun mon,…
%A Tên đầy đủ các ngày trong tuần. Chủ nhật thứ hai,…
%w Ngày trong tuần dưới dạng số thập phân. 0, 1,…, 6
%d Ngày trong tháng dưới dạng số thập phân không có đệm. 01, 02,…, 31
%-d Ngày trong tháng dưới dạng số thập phân. 1, 2,…, 30
%b Tên tháng viết tắt. Tháng 1, Tháng 2,…, Tháng 12
%B Tên tháng đầy đủ. Tháng một tháng hai,…
%m Tháng dưới dạng số thập phân không có đệm. 01, 02,…, 12
%-m Tháng dưới dạng số thập phân. 1, 2,…, 12
%y Năm không có thế kỷ dưới dạng số thập phân không có đệm. 00, 01,…, 99
%-y Năm không có thế kỷ dưới dạng số thập phân. 0, 1,…, 99
%Y Năm với thế kỷ dưới dạng số thập phân. 2013, 2019, v.v.
%H Giờ (đồng hồ 24 giờ) dưới dạng số thập phân không có đệm. 00, 01,…, 23
%-H Giờ (đồng hồ 24 giờ) dưới dạng số thập phân. 0, 1,…, 23
%I Giờ (đồng hồ 12 giờ) dưới dạng số thập phân không có đệm. 01, 02,…, 12
%-I Giờ (đồng hồ 12 giờ) dưới dạng số thập phân. 1, 2,… 12
%p Ngôn ngữ là SA hoặc CH. SA, CH
%M Phút dưới dạng số thập phân không có đệm. 00, 01,…, 59
%-M Phút dưới dạng số thập phân. 0, 1,…, 59
%S Thứ hai dưới dạng số thập phân không có đệm. 00, 01,…, 59
%-S Thứ hai dưới dạng số thập phân. 0, 1,…, 59
%f Microsecond dưới dạng số thập phân, không được đệm ở bên trái. 000000 - 999999
%z UTC bù đắp ở dạng + HHMM hoặc -HHMM.
%Z Tên múi giờ.
%j Ngày trong năm dưới dạng số thập phân không có đệm. 001, 002,…, 366
%-j Ngày trong năm dưới dạng số thập phân. 1, 2,…, 366
%U Số tuần trong năm (Chủ nhật là ngày đầu tuần). 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. 00, 01,…, 53
%W Số tuần trong năm (Thứ Hai là ngày đầu tiên trong tuầ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. 00, 01,…, 53
%c Biểu diễn ngày và giờ thích hợp của ngôn ngữ. Thứ Hai, ngày 30 tháng 9, 07:06:05 2013
%x Biểu diễn ngày thích hợp của ngôn ngữ. 30/09/13
%X Biểu diễn thời gian thích hợp của ngôn ngữ. 07:06:05
%% Một ký tự '%' theo nghĩa đen. %

Ví dụ 3: Ngày và giờ thích hợp của ngôn ngữ

  from datetime import datetime timestamp = 1528797322 date_time = datetime.fromtimestamp(timestamp) d = date_time.strftime("%c") print("Output 1:", d) d = date_time.strftime("%x") print("Output 2:", d) d = date_time.strftime("%X") print("Output 3:", d) 

Khi bạn chạy chương trình, đầu ra sẽ là:

 Đầu ra 1: Thứ 6 ngày 12 tháng 6 09:55:22 2018 Đầu ra 2: 06/12/18 Đầu ra 3: 09:55:22 

Định dạng mã %c, %x%Xđược sử dụng cho ngày và thời gian biểu phù hợp locale của.

Chúng tôi cũng khuyên bạn nên kiểm tra Python strptime (). Các strptime()phương pháp tạo ra một datetimeđối tượng từ một chuỗi.

thú vị bài viết...