Hướng dẫn dùng python datetime.fromtimestamp python
Tổng quanGần đây mình có làm việc nhiều với kiểu dữ liệu Datetime trong Python. Vấn đề mình gặp phải là xử lý nhiều loại time format khác nhau, chuyển hóa thành dạng Datetime, chuẩn hóa thời gian lưu trữ và lưu vào database. Và sau đây, mình sẽ viết bài chia sẻ về cách mình xử lý kiểu dữ liệu Datetime trong Python. Trong bài mình sẽ sử dụng Python 3 để xử lý kiểu dữ liệu Datetime. Show
Nội dung chính
Tips 1: Chuẩn hóa múi giờ sử dụngĐầu tiên, cũng là quan trọng nhất, chuẩn hóa múi giờ sử dụng để convert các kiểu thời gian. Mình lựa chọn sử dụng chuẩn múi giờ UTC để chuẩn hóa thời gian cho cả hệ thống cũng như làm múi giờ chuẩn để xử lý các loại format thời gian khác nhau. Tham khảo thêm về thời gian UTC tại Tips 2: Convert String thành DatetimeXử lý bằng hàm
Xử lý bằng strptime
Lưu ý:
Tips 3: Chuyển hóa kiểu Datetime sang Timestamp PythonTimestamp là kiểu thời gian thông dụng của hệ thông Unix, tìm hiểu thêm tại
Tips 4: Chuyển hóa kiểu native date sang UTC timezoneKiểm tra kiểu timezone
Lưu ý: không sử dụng hàm replace, hàm replace sẽ chỉ thay đổi tzinfo không qui đổi thời gian từ múi giờ này sang múi giờ khác Tips 5: Convert UTC sang timezone khácNếu bạn ở múi giờ Việt Nam (GMT + 7), tức nếu hiện tại là 8 giờ sáng (giờ Việt Nam) thì quy ra giờ UTC tức 1 giờ sáng (giờ UTC). Vậy nếu Datetime đang ở múi giờ UTC, ta phải convert nó sáng giờ Việt Nam
Tips 6: Chuyên từ Timestamp sang Datetime
Tips 7: Convert Datetime sang ISO 8601ISO 8601 là một tiêu chuẩn quốc tế, được đưa ra bởi Tổ chức tiêu chuẩn hóa quốc tế (ISO) lần đầu tiên năm 1988, mô tả quy cách viết ngày tháng và thời gian theo cách đơn giản nhất mà máy tính có thể hiểu được. Còn đối với Python ISO 8601 Datetime là string format time thông dụng.
Nguồnhttps://vi.wikipedia.org/wiki/Th%E1%BA%A3o_lu%E1%BA%ADn:M%C3%BAi_gi%E1%BB%9D https://vi.wikipedia.org/wiki/Th%E1%BA%A3o_lu%E1%BA%ADn:M%C3%BAi_gi%E1%BB%9D Thực hiện bởi cloud365.vn Mục lụcNhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook 1- Tổng quanPython cung cấp cho bạn 4 module có liên quan tới ngày tháng và thời gian.
datetime module: datetime là một module, được thiết kế dựa trên hướng đối tượng (object oriented) để làm việc với ngày tháng và thời gian trong Python. Nó có một vài lớp đại diện cho ngày tháng và thời gian.
calendar module: calendar là một module cung cấp các hàm, và một vài lớp liên quan tới Lịch, nó hỗ trợ tạo (generate) ra hình ảnh của bộ lịch dưới dạng text, html, .... 2- Khái niệm về TicksTrong khoa học máy tính, 12h sáng ngày 1 tháng 1 năm 1970 là một thời điểm đặc biệt, nó được sử dụng để bắt đầu đếm thời gian. Thời điểm đặc biệt này được gọi là epoch (Tạm hiểu là kỷ nguyên máy tính). Trong Python, khoảng thời gian giữa thời điểm hiện tại và thời điểm đặc biệt nói trên được tính bằng số giây (seconds). Khoảng thời gian đó được gọi là Ticks. Hàm time() trong module time trả về số giây (seconds) tính từ thời điểm 12h sáng ngày 1 tháng 1 năm 1970 tới hiện tại. Nó trả về một kiểu số chấm động (floating point). ticketExample.py
Output:
3- time moduletime là một module chỉ bao gồm các hàm, và các hằng số liên quan tới ngày tháng và thời gian, có một vài lớp (class) viết trên C/C++ được định nghĩa trên module này. Chẳng hạn lớp struct_time. Trên module time, thời gian được đại diện bởi Ticks hoặc struct_time. Nó có các hàm để định dạng (format) Ticks hoặc struct_time thành string, và ngược lại phân tích (parse) một string thành Ticks hoặc struct_time.
Các hàm của time gọi đến các hàm được viết trên ngôn ngữ C. Dưới đây là danh sách các hàm thông dụng, chi tiết hơn bạn có thể tham khảo tài liệu trên website chính thức của Python. Ticks ==> struct_time
Hàm gmtime([secs]) và localtime([secs]) đều trả về kiểu struct_time. time_gmtimeExample.py
struct_time ==> Ticks Bạn có thể chuyển đổi một struct_time hoặc một Tuple đại diện cho thời gian thành Ticks (Số giây tính từ thời điểm epoch). time_mktime_example.py
struct_time, Ticks ==> string
time_asctime_ctime_example.py
Phân tích và định dạng module time cung cấp một số hàm sử dụng để phân tích (parse) một string thành thời gian. Và ngược lại, định dạng (format) thời gian thành một string.
Ví dụ phân tích (parse) một string thành thời gian có kiểu struct_time. time_strptime_example.py
4- datetime moduledatetime là một module, được thiết kế theo hướng đối tượng để làm việc với ngày tháng và thời gian trong Python. Nó định nghĩa một vài lớp đại diện cho ngày tháng và thời gian.
5- datetime.timedeltatimedelta là một lớp nằm trong module datetime, nó mô tả một khoảng thời gian. Là sự khác biệt giữa 2 thời gian. Lớp timedelta có 7 thuộc tính (attribute), đều có giá trị mặc định là 0.
Các toán tử hỗ trợ.
6- datetime.datedatetime.date là một lớp, đối tượng của nó đại diện cho ngày tháng (date), không bao gồm thông tin thời gian Phương thức khởi tạo (Constructor) ** constructor **
Constructor của lớp date có thể phát ra lỗi ValueError nếu các giá trị truyền vào không hợp lệ (nằm ngoài phạm vi cho phép). Các hằng số:
Các toán tử
Các phương thức:
Có thể bạn quan tâm Đây là các khóa học trực tuyến bên ngoài website o7planning mà chúng tôi giới thiệu, nó có thể bao gồm các khóa học miễn phí hoặc giảm giá. |