Làm cách nào để nhập thời gian UTC bằng Python?

Lấy thời gian hiện tại bằng Python là một điểm khởi đầu tốt cho nhiều hoạt động liên quan đến thời gian. Một trường hợp sử dụng rất quan trọng là tạo dấu thời gian. Trong hướng dẫn này, bạn sẽ học cách lấy, hiển thị và định dạng thời gian hiện tại với mô-đun

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2

Để sử dụng hiệu quả thời gian hiện tại trong các ứng dụng Python của bạn, bạn sẽ thêm một số công cụ vào thắt lưng của mình. Chẳng hạn, bạn sẽ học cách đọc các thuộc tính của thời gian hiện tại, như năm, phút hoặc giây. Để làm cho thời gian dễ đọc hơn, bạn sẽ khám phá các tùy chọn để in nó. Bạn cũng sẽ biết các định dạng thời gian khác nhau và tìm hiểu cách máy tính biểu thị thời gian, cách sắp xếp thời gian theo thứ tự và cách xử lý các múi giờ

Mã nguồn. Nhấp vào đây để tải xuống mã nguồn miễn phí để nhận và sử dụng thời gian hiện tại trong Python

Cách nói thời gian trong Python

Cách đơn giản nhất để lấy và in thời gian hiện tại là sử dụng phương thức lớp

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
0 từ lớp
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 trong mô-đun
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2

>>>

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225

Phương thức lớp

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
0 là phương thức khởi tạo trả về đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2. Khi REPL đánh giá biến
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
5, bạn sẽ nhận được biểu diễn của đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2. Có thể khá khó để biết ý nghĩa của từng con số. Nhưng nếu bạn in biến
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
5 một cách rõ ràng, thì bạn sẽ nhận được kết quả đầu ra hơi khác, trình bày thông tin ở định dạng dấu thời gian quen thuộc

Ghi chú. Đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 mà bạn nhận được ở đây không biết múi giờ. Thông thường hệ điều hành của bạn có thể phân giải múi giờ chính xác, nhưng bản thân đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 hiện không có thông tin về múi giờ. Bạn sẽ tìm hiểu về các đối tượng nhận biết múi giờ trong phần sau của hướng dẫn này

Bạn có thể nhận ra định dạng của đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 được in. Nó tuân thủ chặt chẽ tiêu chuẩn quốc tế, ISO 8601, để định dạng thời gian và ngày tháng. Bạn sẽ tìm thấy định dạng này ở nhiều nơi

Tuy nhiên, có một chút sai lệch so với tiêu chuẩn ISO 8601 ở định dạng mà Python sử dụng. Tiêu chuẩn nói rằng các phần ngày và giờ của dấu thời gian phải được phân tách bằng ký tự

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
1, nhưng đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 mặc định được chuyển qua hàm
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
3 phân tách chúng bằng một khoảng trắng

Python, luôn có thể mở rộng và tùy chỉnh, cho phép bạn tùy chỉnh định dạng mà nó in dấu thời gian. Lớp

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 sử dụng nội bộ phương thức
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
5 của nó khi in. Vì
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
5 chỉ là một phương thức thể hiện, nên bạn có thể gọi nó trực tiếp từ bất kỳ đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 nào để tùy chỉnh dấu thời gian ISO

>>>

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'

Bạn sẽ lưu ý rằng khi bạn gọi

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
5 mà không có bất kỳ đối số nào, dấu tách ISO 8601 tiêu chuẩn
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
1 được sử dụng. Tuy nhiên, cách mà lớp
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 đã triển khai phương thức thể hiện đặc biệt của nó
>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
21 dưới mui xe, là với một khoảng trắng duy nhất làm đối số
>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
22

Có thể nhận được ngày và giờ đầy đủ là điều tuyệt vời, nhưng đôi khi bạn có thể đang tìm kiếm thứ gì đó cụ thể. Có thể bạn chỉ muốn tháng hoặc ngày chẳng hạn. Trong những trường hợp đó, bạn có thể chọn từ một loạt các thuộc tính

>>>

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2

Trong đoạn mã này, bạn sử dụng chuỗi f được trích dẫn ba lần có ký hiệu

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
23 trong dấu ngoặc nhọn để xuất các biểu thức và kết quả của chúng

Hãy tiếp tục và khám phá các thuộc tính và phương thức khác nhau bằng cách gọi hàm

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
24 với đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 để liệt kê các tên có sẵn trong phạm vi hiện tại. Hoặc bạn có thể xem tài liệu về
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2. Dù bằng cách nào, bạn sẽ tìm thấy vô số tùy chọn

Bạn sẽ lưu ý rằng kết quả từ ví dụ cuối cùng thường là những con số. Điều này có thể phù hợp với bạn, nhưng có thể hiển thị các ngày trong tuần dưới dạng số không lý tưởng. Nó cũng có thể đặc biệt khó hiểu vì các phương thức

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
27 và
>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
28 trả về các số khác nhau

Ghi chú. Đối với phương pháp

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
27, Thứ Hai là
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
00 và Chủ Nhật là
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
01. Đối với
>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
28, Thứ Hai là
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
03 và Chủ Nhật là
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
04

Dấu thời gian ISO là tốt, nhưng có thể bạn muốn thứ gì đó dễ đọc hơn dấu thời gian ISO. Ví dụ: mili giây có thể hơi nhiều đối với một người để đọc. Trong phần tiếp theo, bạn sẽ tìm hiểu cách định dạng dấu thời gian của mình theo bất kỳ cách nào bạn muốn

Loại bỏ các quảng cáo

Định dạng dấu thời gian để dễ đọc

Để dễ dàng xuất thời gian theo cách tùy chỉnh, con người có thể đọc được,

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 có một phương thức gọi là
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06. Phương thức
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 lấy mã định dạng làm đối số. Mã định dạng là một chuỗi có nhiều mã thông báo đặc biệt sẽ được thay thế bằng thông tin từ đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2

Phương thức

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 sẽ cung cấp cho bạn vô số tùy chọn về cách biểu diễn chính xác đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 của bạn. Ví dụ, lấy định dạng này

>>>

>>> from datetime import datetime
>>> now = datetime.now[]

>>> now
datetime[2022, 11, 22, 14, 31, 59, 331225]

>>> print[now]
2022-11-22 14:31:59.331225
2

Trong ví dụ này, bạn đã sử dụng các mã định dạng sau

  • >>> datetime.now[].isoformat[]
    '2022-11-22T14:31:59.331225'
    
    >>> datetime.now[].isoformat[sep=" "]
    '2022-11-22 14:31:59.331225'
    
    91. Tên đầy đủ của ngày trong tuần
  • >>> datetime.now[].isoformat[]
    '2022-11-22T14:31:59.331225'
    
    >>> datetime.now[].isoformat[sep=" "]
    '2022-11-22 14:31:59.331225'
    
    92. tháng đầy đủ tên
  • >>> datetime.now[].isoformat[]
    '2022-11-22T14:31:59.331225'
    
    >>> datetime.now[].isoformat[sep=" "]
    '2022-11-22 14:31:59.331225'
    
    93. Số ngày trong tháng

Dấu phẩy trong chuỗi định dạng và khoảng trắng được in như. Phương pháp

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 chỉ thay thế những gì nó nhận ra là mã. Mã định dạng trong
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 luôn bắt đầu bằng dấu phần trăm [
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
96], tuân theo tiêu chuẩn C cũ. Các mã này tương tự như kiểu định dạng chuỗi
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
97 cũ, nhưng chúng không giống nhau

Tài liệu về mã định dạng có một bảng đẹp hiển thị cho bạn tất cả các mã định dạng khác nhau mà bạn có thể sử dụng. Ngoài ra còn có một cheatsheet đẹp tại strftime được đặt tên phù hợp. trang web tổ chức. Đi kiểm tra chúng

Ghi chú. Python f-strings hỗ trợ các mã định dạng giống như ________ 206. Bạn có thể sử dụng chúng như thế này

>>>

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
0

Trong chuỗi f, bạn sử dụng dấu hai chấm [

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
99] để phân tách biểu thức của bạn và mã định dạng tương ứng

Vì vậy, bây giờ bạn có thể lấy thời gian và định dạng nó theo ý thích của mình. Điều đó sẽ giúp bạn đáp ứng nhu cầu xem thời gian cơ bản của mình, nhưng có thể bạn tò mò về cách máy tính thể hiện và xử lý thời gian bên trong cũng như cách bạn có thể lưu trữ thời gian trong tệp hoặc cơ sở dữ liệu. Trong phần tiếp theo, bạn sẽ tìm hiểu về điều đó

Nhận thời gian Unix hiện tại bằng Python

Máy tính như những con số. Nhưng ngày giờ là những con số buồn cười của con người tuân theo những quy luật buồn cười. Hai mươi bốn giờ trong một ngày?

Để đơn giản hóa vấn đề và thấy rằng máy tính không quan tâm đến số lượng lớn, một quyết định đã được đưa ra trong khi hệ điều hành Unix đang được phát triển

Quyết định là biểu thị tất cả thời gian dưới dạng số giây đã trôi qua kể từ nửa đêm UTC ngày 1 tháng 1 năm 1970. Thời điểm này còn được gọi là kỷ nguyên Unix. Hệ thống thời gian được gọi là thời gian Unix. Hầu hết các hệ thống máy tính ngày nay—ngay cả Windows—sử dụng thời gian Unix để thể hiện thời gian bên trong

Thời gian Unix lúc nửa đêm UTC vào ngày 1 tháng 1 năm 1970, bằng không. Nếu bạn muốn biết thời gian Unix hiện tại, thì bạn có thể sử dụng phương thức

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 khác

>>>

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
9

Phương thức

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
01 trả về số giây kể từ kỷ nguyên Unix ở mức độ chính xác cao. Rốt cuộc, bên dưới tất cả các thuộc tính và phương thức, mỗi ngày chỉ là một con số lớn đối với hầu hết các máy tính.

Ghi chú. Vì đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 mà bạn đã tạo không nhận biết múi giờ, nên dấu thời gian bạn đã tạo có thể không thực sự là thời gian UNIX. Điều đó có thể ổn, miễn là hệ thống của bạn được định cấu hình đúng cài đặt thời gian

Phần lớn, bạn có thể để thời gian Unix một mình. Đó là một cách biểu thị thời gian phù hợp với máy tính, nhưng không phù hợp với những người đã quen với lịch của con người như lịch Gregorian. Tuy nhiên, dấu thời gian Unix sẽ xuất hiện trong cuộc phiêu lưu ngày và giờ của bạn, vì vậy chúng chắc chắn rất hữu ích khi biết về

Một trong những điều thú vị nhất về dấu thời gian Unix được tạo chính xác là nó nắm bắt rõ ràng một khoảnh khắc trên toàn thế giới. Kỷ nguyên Unix luôn ở dạng UTC, do đó, không có sự mơ hồ nào về độ lệch múi giờ—nghĩa là, nếu bạn có thể tạo các dấu thời gian một cách đáng tin cậy không có độ lệch múi giờ từ UTC

Nhưng thật không may, bạn sẽ thường xuyên phải đối phó với sự lộn xộn của các múi giờ. Không bao giờ sợ hãi, mặc dù. Trong phần tiếp theo, bạn sẽ làm quen với các đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 nhận biết múi giờ

Loại bỏ các quảng cáo

Nhận múi giờ–Nhận biết các đối tượng ngày và giờ của Python

Sự rõ ràng của dấu thời gian Unix rất hấp dẫn, nhưng nói chung tốt hơn là nên tuần tự hóa thời gian và ngày tháng với định dạng ISO 8601 bởi vì ngoài việc dễ dàng cho máy tính phân tích cú pháp, nó còn có thể đọc được bằng con người và đó là một tiêu chuẩn quốc tế

Hơn nữa, mặc dù các dấu thời gian Unix có phần dễ nhận biết, nhưng chúng có thể bị nhầm lẫn với việc đại diện cho một thứ khác. Rốt cuộc chúng chỉ là những con số. Với dấu thời gian ISO, bạn biết ngay dấu thời gian đó đại diện cho điều gì. Để trích dẫn Zen of Python, tính dễ đọc

Nếu bạn muốn trình bày các đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 của mình bằng các thuật ngữ hoàn toàn rõ ràng, thì trước tiên bạn cần phải nhận biết múi giờ của đối tượng. Sau khi bạn có đối tượng nhận biết múi giờ, thông tin múi giờ sẽ được thêm vào dấu thời gian ISO của bạn

>>>

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
0

Trong ví dụ này, bạn bắt đầu bằng cách chứng minh rằng đối tượng

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
5 không có bất kỳ thông tin múi giờ nào vì thuộc tính
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 của nó trả về
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
07. Khi bạn gọi
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
08 trên
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
5 mà không có bất kỳ đối số nào, múi giờ của hệ thống cục bộ được sử dụng để điền vào
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
06 một đối tượng
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
81

Đối tượng

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
81 về cơ bản chỉ là phần bù từ thời gian UTC và tên. Trong ví dụ này, tên của múi giờ địa phương là Giờ chuẩn Lãng mạn và phần bù là 3.600 giây hoặc một giờ

Ghi chú. Tên của múi giờ cũng sẽ phụ thuộc vào hệ điều hành của bạn. Mô-đun

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 thường giao tiếp với hệ điều hành để lấy thông tin về thời gian và múi giờ, trong số những thứ khác, chẳng hạn như ngôn ngữ ưa thích của bạn

Mô-đun

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
84 đã được thêm vào Python 3. 9 để cung cấp cho bạn quyền truy cập vào cơ sở dữ liệu múi giờ IANA

Bây giờ đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 có đối tượng
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
81, bạn có thể coi đó là nhận biết múi giờ. Vì vậy, khi bạn gọi
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
5 trên đối tượng nhận biết múi giờ, bạn sẽ nhận thấy rằng
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
88 được thêm vào cuối. Điều này thể hiện sự chênh lệch một giờ so với thời gian UTC

Nếu bạn ở một địa điểm khác, chẳng hạn như Lima, Peru, thì đầu ra

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
5 của bạn có thể trông như thế này

>>>

>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
8

Thời gian sẽ khác và bạn sẽ thấy độ lệch UTC hiện là

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
60. Vì vậy, bây giờ dấu thời gian của bạn trông đẹp và rõ ràng về thời gian mà chúng đại diện

Bạn thậm chí có thể tiến thêm một bước, như nhiều người đã làm và lưu trữ dấu thời gian của bạn theo thời gian UTC, để mọi thứ được chuẩn hóa tốt

>>>

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
6

Truyền múi giờ

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
61 cho phương thức khởi tạo
>>> datetime.now[].isoformat[]
'2022-11-22T14:31:59.331225'

>>> datetime.now[].isoformat[sep=" "]
'2022-11-22 14:31:59.331225'
0 sẽ trả về thời gian UTC. Lưu ý rằng thời gian được bù từ giờ địa phương trong ví dụ này

Tiêu chuẩn ISO 8601 cũng chấp nhận

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
63 thay cho
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
64 để biểu thị thời gian UTC. Điều này đôi khi được gọi là thời gian Zulu, nó thường được gọi trong ngành hàng không

Trong ngành hàng không, bạn luôn hoạt động theo giờ UTC. Hoạt động trong một thời gian chung, bất kể vị trí, là rất quan trọng trong một lĩnh vực như hàng không. Hãy tưởng tượng kiểm soát không lưu phải đối phó với mọi máy bay báo cáo thời gian hạ cánh ước tính theo nơi xuất phát của chúng. Loại tình huống đó sẽ là một công thức cho sự nhầm lẫn và thảm họa

Phần kết luận

Trong hướng dẫn này, bạn đã nói với thời gian. Bạn đã tạo một đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 và đã biết cách chọn ra các thuộc tính khác nhau của đối tượng. Bạn cũng đã kiểm tra một số cách để xuất đối tượng
>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 ở các định dạng khác nhau

Bạn cũng đã tự làm quen với thời gian UNIX và dấu thời gian ISO và khám phá cách bạn có thể biểu thị dấu thời gian của mình một cách rõ ràng. Đối với điều này, bạn đã nhúng ngón chân của mình vào thế giới múi giờ phức tạp và nhận biết múi giờ đối tượng

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 của bạn

Nếu bạn đang tìm hiểu xem mọi thứ mất bao lâu, thì hãy xem hướng dẫn Các hàm hẹn giờ trong Python. Ba cách để theo dõi mã của bạn. Để tìm hiểu sâu hơn về mô-đun

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2, hãy xem Sử dụng Python datetime để làm việc với ngày và giờ

Bây giờ bạn có thể nói rằng thời gian thực sự đứng về phía bạn. Bạn sử dụng mô-đun

>>> from datetime import datetime
>>> now = datetime.now[]
>>> print[f"""
.. {now.month = }
.. {now.day = }
.. {now.hour = }
.. {now.minute = }
.. {now.weekday[] = }
.. {now.isoweekday[] = }"""
.. ]
now.month = 11
now.day = 22
now.hour = 14
now.minute = 31
now.weekday[] = 1
now.isoweekday[] = 2
2 như thế nào?

Mã nguồn. Nhấp vào đây để tải xuống mã nguồn miễn phí để nhận và sử dụng thời gian hiện tại trong Python

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Ian Currie

Ian là một mọt sách Python, người sử dụng nó cho mọi thứ, từ mày mò đến giúp mọi người và công ty quản lý công việc hàng ngày cũng như phát triển doanh nghiệp của họ

» Thông tin thêm về Ian

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

kate

Philipp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Làm cách nào để sử dụng thời gian UTC trong Python?

Lấy dấu thời gian UTC . datetime. now[] để lấy ngày giờ hiện tại. Sau đó, sử dụng lớp tzinfo để chuyển đổi thời gian của chúng tôi thành UTC. Cuối cùng, sử dụng dấu thời gian[] để chuyển đổi đối tượng ngày giờ, trong UTC, để lấy dấu thời gian UTC.

Làm cách nào để kiểm tra thời gian UTC bằng Python?

UtcNow = ngày giờ. ngày giờ. utcnow [các hàm là công dân hạng nhất trong Python -- bạn không cần tạo một hàm mới ở đây, để gọi nó bằng một tên khác].

Làm cách nào để chuyển đổi múi giờ thành UTC trong Python?

Sử dụng mô-đun pytz đi kèm với danh sách đầy đủ các múi giờ + UTC. Tìm hiểu múi giờ địa phương là gì, xây dựng một đối tượng múi giờ từ nó, thao tác và gắn nó vào datetime ngây thơ. Cuối cùng, sử dụng datetime. astimezone[] để chuyển đổi ngày giờ thành UTC .

Là thời gian trăn thời gian UTC?

Mô tả. Phương thức thời gian trong Python time[] trả về thời gian dưới dạng số dấu phẩy động được biểu thị bằng giây kể từ kỷ nguyên, theo giờ UTC .

Chủ Đề