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 2 Show
Để 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 PythonCá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 0 từ lớp 2 trong mô-đun 2>>>
Phương thức lớp 0 là phương thức khởi tạo trả về đối tượng 2. Khi REPL đánh giá biến 5, bạn sẽ nhận được biểu diễn của đối tượng 2. Có thể khá khó để biết ý nghĩa của từng con số. Nhưng nếu bạn in biến 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ộcGhi chú. Đối tượng 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 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àyBạn có thể nhận ra định dạng của đối tượng 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ơiTuy 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ự 1, nhưng đối tượng 2 mặc định được chuyển qua hàm 3 phân tách chúng bằng một khoảng trắngPython, 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 2 sử dụng nội bộ phương thức 5 của nó khi in. Vì 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 2 nào để tùy chỉnh dấu thời gian ISO>>>
Bạn sẽ lưu ý rằng khi bạn gọi 5 mà không có bất kỳ đối số nào, dấu tách ISO 8601 tiêu chuẩn 1 được sử dụng. Tuy nhiên, cách mà lớp 2 đã triển khai phương thức thể hiện đặc biệt của nó 21 dưới mui xe, là với một khoảng trắng duy nhất làm đối số 22Có 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 >>>
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 23 trong dấu ngoặc nhọn để xuất các biểu thức và kết quả của chúngHã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 24 với đối tượng 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ề 2. Dù bằng cách nào, bạn sẽ tìm thấy vô số tùy chọnBạ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 27 và 28 trả về các số khác nhauGhi chú. Đối với phương pháp 27, Thứ Hai là 00 và Chủ Nhật là 01. Đối với 28, Thứ Hai là 03 và Chủ Nhật là 04Dấ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, 2 có một phương thức gọi là 06. Phương thức 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 2Phương thức 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 2 của bạn. Ví dụ, lấy định dạng này>>> 2Trong ví dụ này, bạn đã sử dụng các mã định dạng sau
Dấu phẩy trong chuỗi định dạng và khoảng trắng được in như. Phương pháp 06 chỉ thay thế những gì nó nhận ra là mã. Mã định dạng trong 06 luôn bắt đầu bằng dấu phần trăm ( 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 97 cũ, nhưng chúng không giống nhauTà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 >>> 0Trong chuỗi f, bạn sử dụng dấu hai chấm ( 99) để phân tách biểu thức của bạn và mã định dạng tương ứngVì 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 PythonMá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 2 khác>>> 9Phương thức 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 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 gianPhầ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 2 nhận biết múi giờLoại bỏ các quảng cáoNhận múi giờ–Nhận biết các đối tượng ngày và giờ của PythonSự 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 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>>> 0Trong ví dụ này, bạn bắt đầu bằng cách chứng minh rằng đối tượng 5 không có bất kỳ thông tin múi giờ nào vì thuộc tính 06 của nó trả về 07. Khi bạn gọi 08 trên 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 06 một đối tượng 81Đối tượng 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 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ạnMô-đun 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ờ IANABây giờ đối tượng 2 có đối tượng 81, bạn có thể coi đó là nhận biết múi giờ. Vì vậy, khi bạn gọi 5 trên đối tượng nhận biết múi giờ, bạn sẽ nhận thấy rằng 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 UTCNếu bạn ở một địa điểm khác, chẳng hạn như Lima, Peru, thì đầu ra 5 của bạn có thể trông như thế này>>> 8Thời gian sẽ khác và bạn sẽ thấy độ lệch UTC hiện là 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ệnBạ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 >>> 6Truyền múi giờ 61 cho phương thức khởi tạo 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àyTiêu chuẩn ISO 8601 cũng chấp nhận 63 thay cho 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ôngTrong 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ậnTrong hướng dẫn này, bạn đã nói với thời gian. Bạn đã tạo một đối tượng 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 2 ở các định dạng khác nhauBạ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 2 của bạnNế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 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 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ề IanMỗ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 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ẻ EmailBà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 . |