Hướng dẫn how do i change the format of a datetime object in python? - làm cách nào để thay đổi định dạng của một đối tượng datetime trong python?

Có thể trùng lặp: Cách chuyển đổi thời gian thành chuỗi
How to convert a time to a string

Tôi có biến

print(datetime.strftime('%b %d,%Y'))
9 như được hiển thị trong mã dưới đây.

a = "2011-06-09"

Sử dụng Python, làm thế nào để chuyển đổi nó sang định dạng sau?

"Jun 09,2011"

Hướng dẫn how do i change the format of a datetime object in python? - làm cách nào để thay đổi định dạng của một đối tượng datetime trong python?

hỏi ngày 9 tháng 6 năm 2011 lúc 6:27Jun 9, 2011 at 6:27

2

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'

Trong Pre-2.5 Python, bạn có thể thay thế

import datetime
0 bằng
import datetime
1, như vậy (chưa được kiểm tra):
import datetime
2

Đã trả lời ngày 9 tháng 6 năm 2011 lúc 6:30Jun 9, 2011 at 6:30

NPENPENPE

472K104 Huy hiệu vàng923 Huy hiệu bạc998 Huy hiệu Đồng104 gold badges923 silver badges998 bronze badges

1

Câu trả lời của Tim chỉ thực hiện một nửa công việc - điều đó đưa nó vào một đối tượng DateTime.Datetime.

Để đưa nó vào định dạng chuỗi bạn yêu cầu, bạn sử dụng DateTime.strftime:

print(datetime.strftime('%b %d,%Y'))

Đã trả lời ngày 9 tháng 6 năm 2011 lúc 6:31Jun 9, 2011 at 6:31

mgiucamgiucamgiuca

20.6K6 Huy hiệu vàng52 Huy hiệu bạc70 Huy hiệu Đồng6 gold badges52 silver badges70 bronze badges

1

Giới thiệu

Python đi kèm với một loạt các đối tượng hữu ích có thể được sử dụng ra khỏi hộp. Đối tượng ngày là ví dụ của các đối tượng như vậy. Các loại ngày rất khó thao tác từ đầu, do sự phức tạp của ngày và thời gian. Tuy nhiên, các đối tượng ngày Python giúp việc chuyển đổi ngày thành các định dạng chuỗi mong muốn cực kỳ dễ dàng.

Định dạng ngày là một trong những nhiệm vụ quan trọng nhất mà bạn sẽ phải đối mặt với tư cách là một lập trình viên. Các khu vực khác nhau trên thế giới có những cách khác nhau để biểu diễn ngày/thời gian, do đó, mục tiêu của bạn với tư cách là một lập trình viên là trình bày các giá trị ngày theo cách có thể đọc được cho người dùng.

Ví dụ: bạn có thể cần thể hiện một giá trị ngày bằng số như "02-23-2018". Mặt khác, bạn có thể cần phải viết cùng một giá trị ngày theo định dạng văn bản dài hơn như "ngày 23 tháng 2 năm 2018". Trong một kịch bản khác, bạn có thể muốn trích xuất tháng ở định dạng chuỗi từ giá trị ngày được định dạng bằng số.

Trong bài viết này, chúng tôi sẽ nghiên cứu các loại đối tượng ngày khác nhau cùng với các chức năng của chúng.

Mô -đun DateTime

Mô -đun

import datetime
3 của Python, như bạn có thể đoán, chứa các phương thức có thể được sử dụng để làm việc với các giá trị ngày và thời gian. Để sử dụng mô -đun này, trước tiên chúng tôi nhập nó thông qua câu lệnh
import datetime
4 như sau:

import datetime

Chúng ta có thể biểu diễn các giá trị thời gian bằng cách sử dụng lớp

import datetime
5. Các thuộc tính cho lớp
import datetime
5 bao gồm giờ, phút, thứ hai và micro giây.

Các đối số cho lớp

import datetime
5 là tùy chọn. Mặc dù nếu bạn không chỉ định bất kỳ đối số nào, bạn sẽ lấy lại thời gian 0, điều này khó có thể là thứ bạn cần hầu hết thời gian.

Ví dụ: để khởi tạo đối tượng thời gian với giá trị 1 giờ, 10 phút, 20 giây và 13 micro giây, chúng ta có thể chạy lệnh sau:

t = datetime.time(1, 10, 20, 13)

Để xem thời gian, hãy sử dụng hàm

import datetime
8:

print(t)

Output:

01:10:20.000013

Bạn có thể cần phải nhìn thấy một giờ, phút, thứ hai hoặc micro giây, đây là cách bạn có thể làm như vậy:

print('hour:', t.hour)

Output:

hour: 1

Các phút, giây và micro giây trong thời gian trên có thể được truy xuất như sau:

"Jun 09,2011"
0

Output:

"Jun 09,2011"
1

Các giá trị cho ngày lịch có thể được biểu diễn thông qua lớp

import datetime
9. Các trường hợp sẽ có các thuộc tính cho năm, tháng và ngày.

Hãy để chúng tôi gọi phương thức

t = datetime.time(1, 10, 20, 13)
0 để xem ngày hôm nay:

"Jun 09,2011"
2

Output:

"Jun 09,2011"
3

Mã sẽ trả về ngày cho ngày hôm nay, do đó, đầu ra bạn thấy sẽ phụ thuộc vào ngày bạn chạy tập lệnh trên.

Bây giờ chúng ta hãy gọi phương thức

t = datetime.time(1, 10, 20, 13)
1 để in ngày ở định dạng khác:

"Jun 09,2011"
4

Output:

"Jun 09,2011"
5

Phương pháp

t = datetime.time(1, 10, 20, 13)
1 sử dụng định dạng ngày dài hơn so với các ví dụ chúng ta đã thấy trước đây. Phương pháp này chủ yếu được sử dụng để chuyển đổi thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970) thành định dạng chuỗi.

Và đây là cách chúng ta có thể hiển thị năm, tháng và ngày sử dụng lớp

import datetime
9:

"Jun 09,2011"
6

Đầu ra

"Jun 09,2011"
7

Chuyển đổi ngày thành chuỗi với thời gian diễn ra

Bây giờ bạn đã biết cách tạo các đối tượng ngày và thời gian, chúng ta hãy tìm hiểu cách định dạng chúng thành các chuỗi dễ đọc hơn.

Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp

t = datetime.time(1, 10, 20, 13)
4. Phương pháp này giúp chúng tôi chuyển đổi các đối tượng ngày thành các chuỗi có thể đọc được. Phải mất hai tham số, như được hiển thị trong cú pháp sau:

"Jun 09,2011"
8

Tham số đầu tiên là chuỗi định dạng, trong khi tham số thứ hai là thời gian được định dạng, đó là tùy chọn.

Phương pháp này cũng có thể được sử dụng trực tiếp trên đối tượng

import datetime
3, như được hiển thị trong ví dụ sau:

"Jun 09,2011"
9

Output:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
0

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

Chúng tôi đã sử dụng các chuỗi ký tự sau để định dạng ngày:

  • t = datetime.time(1, 10, 20, 13)
    
    6: Trả về ba ký tự đầu tiên của tên tháng. Trong ví dụ của chúng tôi, nó đã trả lại "SEP"
  • t = datetime.time(1, 10, 20, 13)
    
    7: Trả về ngày trong tháng, từ 1 đến 31. Trong ví dụ của chúng tôi, nó đã trả lại "15".
  • t = datetime.time(1, 10, 20, 13)
    
    8: Trả về năm ở định dạng bốn chữ số. Trong ví dụ của chúng tôi, nó đã trả lại "2018".
  • t = datetime.time(1, 10, 20, 13)
    
    9: Trả lại giờ. Trong ví dụ của chúng tôi, nó đã trả lại "00".
  • print(t)
    
    0: Trả về phút, từ 00 đến 59. Trong ví dụ của chúng tôi, nó đã trả lại "00".
  • print(t)
    
    1: Trả về thứ hai, từ 00 đến 59. Trong ví dụ của chúng tôi, nó đã trả lại "00".

Chúng tôi đã không vượt qua một thời gian, do đó các giá trị cho thời gian là tất cả "00". Ví dụ sau đây cho thấy thời gian cũng có thể được định dạng như thế nào:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
1

Output:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
2

Danh sách mã ký tự hoàn chỉnh

Khác với các chuỗi ký tự được đưa ra ở trên, phương thức

t = datetime.time(1, 10, 20, 13)
4 có một số chỉ thị khác để định dạng giá trị ngày:

  • print(t)
    
    3: Trả về ba nhân vật đầu tiên của ngày trong tuần, ví dụ: Thứ Tư.
  • print(t)
    
    4: Trả về tên đầy đủ của ngày trong tuần, ví dụ: Thứ Tư.
  • print(t)
    
    5: Trả về tên đầy đủ của tháng, ví dụ: Tháng 9.
  • print(t)
    
    6: Trả lại ngày trong tuần làm số, từ 0 đến 6, với Chủ nhật là 0.
  • print(t)
    
    7: Trả về tháng dưới dạng số, từ 01 đến 12.
  • print(t)
    
    8: Trả về AM/PM cho thời gian.
  • print(t)
    
    9: Trả lại năm ở định dạng hai chữ số, nghĩa là không có thế kỷ. Ví dụ: "18" thay vì "2018".
  • 01:10:20.000013
    
    0: Trả về micro giây từ 000000 đến 999999.
  • 01:10:20.000013
    
    1: Trả về múi giờ.
  • 01:10:20.000013
    
    2: Trả về bù UTC.
  • 01:10:20.000013
    
    3: Trả về số lượng của ngày trong năm, từ 001 đến 366.
  • 01:10:20.000013
    
    4: Trả lại số tuần của năm, từ 00 đến 53, với thứ Hai được tính là ngày đầu tiên của tuần.
  • 01:10:20.000013
    
    5: Trả lại số tuần của năm, từ 00 đến 53, với Chủ nhật được tính là ngày đầu tiên của mỗi tuần.
  • 01:10:20.000013
    
    6: Trả về phiên bản ngày và giờ địa phương.
  • 01:10:20.000013
    
    7: Trả về phiên bản cục bộ của ngày.
  • 01:10:20.000013
    
    8: Trả về phiên bản địa phương của thời gian.

Xem xét ví dụ sau:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
3

Output:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
4

Và đây là cách bạn chỉ có thể nhận được tháng:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
5

Output:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
6

Hãy để chúng tôi hiển thị năm:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
7

Output:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
8

Trong ví dụ này, chúng tôi đã sử dụng mã định dạng

t = datetime.time(1, 10, 20, 13)
8. Lưu ý rằng
print('hour:', t.hour)
0 là ở chữ hoa. Bây giờ hãy viết nó bằng chữ thường:

>>> import datetime
>>> d = datetime.datetime.strptime('2011-06-09', '%Y-%m-%d')
>>> d.strftime('%b %d,%Y')
'Jun 09,2011'
9

Output:

print(datetime.strftime('%b %d,%Y'))
0

Lần này, thế kỷ đã bị bỏ qua. Như bạn có thể thấy, với các mã định dạng này, bạn có thể đại diện cho thời gian ngày dưới bất kỳ hình thức nào bạn muốn.

Chuyển đổi chuỗi thành ngày với thời gian diễn ra

Phương pháp

t = datetime.time(1, 10, 20, 13)
4 đã giúp chúng tôi chuyển đổi các đối tượng ngày thành các chuỗi dễ đọc hơn. Phương pháp
print('hour:', t.hour)
2 làm ngược lại, nghĩa là, nó lấy các chuỗi và chuyển đổi chúng thành các đối tượng ngày mà Python có thể hiểu.

Đây là cú pháp cho phương pháp:

print(datetime.strftime('%b %d,%Y'))
1

Tham số

print('hour:', t.hour)
3 là giá trị trong định dạng chuỗi mà chúng tôi muốn chuyển đổi thành định dạng ngày. Tham số
print('hour:', t.hour)
4 là chỉ thị chỉ định định dạng sẽ được thực hiện vào ngày sau khi chuyển đổi.

Ví dụ: giả sử chúng ta cần chuyển đổi chuỗi "9/15/18" thành đối tượng

import datetime
3.

Trước tiên chúng ta hãy nhập mô -đun

import datetime
3. Chúng tôi sẽ sử dụng từ khóa
print('hour:', t.hour)
7 để có thể tham chiếu các hàm mô -đun cụ thể mà không có định dạng DOT:

print(datetime.strftime('%b %d,%Y'))
2

Sau đó chúng ta có thể xác định ngày ở dạng chuỗi:

print(datetime.strftime('%b %d,%Y'))
3

Python sẽ không thể hiểu chuỗi trên dưới dạng DateTime cho đến khi chúng tôi chuyển đổi nó thành đối tượng

import datetime
3 thực tế. Chúng tôi có thể thực hiện thành công bằng cách gọi phương thức
print('hour:', t.hour)
2.

Thực hiện lệnh sau để chuyển đổi chuỗi:

print(datetime.strftime('%b %d,%Y'))
4

Bây giờ chúng ta hãy gọi chức năng

import datetime
8 để hiển thị chuỗi ở định dạng
import datetime
3:

print(datetime.strftime('%b %d,%Y'))
5

Output:

print(datetime.strftime('%b %d,%Y'))
6

Như bạn có thể thấy, việc chuyển đổi đã thành công!

Bạn có thể thấy rằng dấu gạch chéo phía trước "/" đã được sử dụng để tách các yếu tố khác nhau của chuỗi. Điều này cho biết phương thức

print('hour:', t.hour)
2 định dạng ngày của chúng tôi là gì, trong trường hợp của chúng tôi "/" được sử dụng làm dấu phân cách.

Nhưng điều gì sẽ xảy ra nếu ngày/tháng/năm bị tách ra bởi một "-"? Đây là cách bạn xử lý điều đó:

print(datetime.strftime('%b %d,%Y'))
7

Output:

print(datetime.strftime('%b %d,%Y'))
6

Và một lần nữa, nhờ trình xác định định dạng, phương thức

print('hour:', t.hour)
2 có thể phân tích ngày của chúng tôi và chuyển đổi nó thành đối tượng ngày.

Sự kết luận

Trong bài viết này, chúng tôi đã nghiên cứu cách định dạng ngày trong Python. Chúng tôi đã thấy làm thế nào mô -đun

import datetime
3 trong Python có thể được sử dụng để thao tác các giá trị ngày và thời gian. Mô -đun chứa một số lớp có thể được sử dụng cho mục đích này. Ví dụ: lớp
import datetime
5 được sử dụng để biểu diễn các giá trị thời gian trong khi lớp
import datetime
9 được sử dụng để biểu diễn các giá trị ngày lịch.

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 cách nào để thay đổi định dạng ngày thành mm dd yyyy trong gấu trúc?

Ví dụ: bạn có thể chọn hiển thị ngày đầu ra là mm/dd/yyyy bằng cách chỉ định dt.strftime ('%m/%d/%y').Có bạn đi!dt. strftime('%m/%d/%Y') . There you go!

Làm cách nào để thay đổi định dạng ngày từ yyyy sang mm dd trong python?

Python Biểu hiện chính quy: Bài tập-25 với giải pháp..
Giải pháp mẫu:-.
Mã Python: Nhập RE DEF Change_Date_Format (dt): return re.sub (r '(\ d {4})-(\ d {1,2})-(\ d {1,2})', '\\3-\\ 2-\\ 1 ', dt) dt1 = "2026-01-02" in ("Ngày ban đầu ở định dạng yyy-mm-dd:", dt1) in ("Ngày mới trong dd-mm-yyyyĐịnh dạng: ", Change_date_format (DT1)).

Làm cách nào để thay đổi định dạng ngày trong một khung dữ liệu trong Python?

Hàm được sử dụng strftime () có thể thay đổi định dạng ngày trong Python.strftime() can change the date format in python.