Một bảng cơ sở dữ liệu mysql có một cột có kiểu dữ liệu là thời gian (http://dev.mysql.com/doc/refman/5.0/en/time.html). Khi dữ liệu bảng được truy cập, Python trả về giá trị của cột này như là một đối tượng datetime.timedelta. Làm cách nào để trích xuất thời gian này? (Tôi đã không thực sự hiểu những gì timedelta là từ hướng dẫn sử dụng python).Python: Làm thế nào để có được thời gian từ một đối tượng datetime.timedelta?
Ví dụ: Các cột trong bảng chứa giá trị "18:00:00" Python-MySQLdb trả này như datetime.timedelta (0, 64800)
Hãy bỏ qua những gì là bên dưới (nó trở lại giá trị khác nhau) -
Đã thêm: Không phân biệt giá trị thời gian trong bảng, python-MySQLdb dường như chỉ trả về datetime.timedelta (0, 64800).
Lưu ý: Tôi sử dụng Python 2.4
Tôi nên đề cập rằng nỗ lực đầu tiên của tôi là sử dụng 'datetime.time.min + value', nhưng điều này không có tác dụng, vì các đối tượng' datetime.time' không thể được thêm vào 'datetime.timedelta' objects. –
Python chỉ trả về datetime.timedelta (0, 64800), không phụ thuộc vào giá trị thời gian thực tế. – Sam
Vâng, tôi đã chán ngấy những cách khác nhau ngày tháng và thời gian được báo hiệu qua các lớp DB-API khác nhau, các phiên bản khác nhau của MySQLdb và Python, và thậm chí các thư viện có sẵn khác nhau (ví dụ: mxDateTime). Bây giờ tôi chỉ sử dụng số nguyên và thời gian Unix. Trừ khi bạn cần phải làm các truy vấn dựa trên ngày trong tuần hoặc một cái gì đó, điều này nói chung là dễ dàng hơn nhiều. – bobince