Tôi đang cố gắng để dateutil.parser.parse()
để phân tích cú pháp mặc định str(datetime.datetime.now())
đầu ra bằng cách sử dụng thời gian biểu nhận biết múi giờ. Tuy nhiên, parse()
dường như mất thông tin múi giờ và thay thế bằng múi giờ địa phương. Dưới đây là sản phẩm IPython:dateutil.parser.parse() và mất thông tin múi giờ
In [1]: from django.utils.timezone import now
In [3]: import dateutil
In [4]: t = now()
In [6]: print t
2014-07-14 08:51:49.123342+00:00
In [7]: st = unicode(t)
In [8]: print dateutil.parser.parse(st)
2014-07-14 08:51:49.123342+02:00
Theo tôi hiểu dateutil
hiện một số heurestics khi đoán định dạng ngày và nó có thể đi sai ở đây.
Cách cung cấp định dạng ngày giờ chính xác để phân tích cú pháp thời gian biểu nhận biết múi giờ?
Thậm chí tốt hơn - nếu định dạng được biết cách phân tích datetime này chỉ sử dụng Python stdlib, không phụ thuộc vào dateutil?
Tôi biết của 'USE_TZ' - tuy nhiên câu hỏi này là về ngày phân tích cú pháp và 'dateutil' hành vi, không phải về Django. –
Vậy tại sao bạn sử dụng 'django.util.timezone'? –
Tôi muốn tạo một datetime với múi giờ. Đó là loại cách dễ nhất. Tôi nghĩ rằng tôi đã khá cụ thể những gì tôi đã yêu cầu - xin vui lòng cho tôi biết nếu có bất cứ điều gì trong câu hỏi những gì có thể được cải thiện. –