2010-05-03 44 views
6

Tôi đang cố gắng lấy ngày cho một sự kiện từ người dùng. Đầu vào chỉ là một đầu vào văn bản html đơn giản. Vấn đề chính của tôi là tôi không biết cách phân tích ngày tháng.Phân tích cú pháp đầu vào ngày Django?

Nếu tôi cố gắng chuyển chuỗi thô, tôi nhận được TypeError, như mong đợi.

Django có bất kỳ mô-đun phân tích cú pháp ngày nào không?

Trả lời

7

Nếu bạn đang sử dụng django.forms, hãy xem DateField.input_formats. Đối số này cho phép xác định một số định dạng ngày tháng. DateField cố phân tích dữ liệu thô theo các định dạng đó theo thứ tự.

+3

Nói cách khác, OP * nên * được sử dụng các hình thức Django, mà sẽ chăm sóc này nếu bạn đặt input_formats một cách chính xác. –

7

Django không, do đó, để nói, bởi Python. Có vẻ như tôi sai ở đây, như câu trả lời của uptimebox.

Giả sử bạn đang phân tích chuỗi này: 'Wed 21 Tháng 4 0000 19:29:07 2010' (Đây là từ JSON API của Twitter)

Bạn muốn phân tích nó thành một đối tượng datetime như thế này:

import datetime 

JSON_time = 'Wed Apr 21 19:29:07 +0000 2010' 
my_time = datetime.datetime.strptime(JSON_time, '%a %b %d %H:%M:%S +0000 %Y') 

print type(my_time) 

Bạn muốn có được điều này, xác nhận nó là một đối tượng datetime:

<type 'datetime.datetime'> 

thông tin thêm về strptime() thể được tìm thấy here.

Các vấn đề liên quan