Tôi đang sử dụng thư viện Parsdatetime trong tập lệnh Python của mình và có vẻ như "tháng trước" hoạt động, "tháng sau" nhưng "tháng này" không hoạt động.
Tôi đang thiếu gì? Có cách nào để có được ngày đầu tiên của tháng?
EDIT: Xin lỗi, đây là một số mã:
nhập parsdatetime.parsedatetime dưới dạng pdt
p = pdt.Calendar()
res = p.parse('tháng này')
in(str(res))
trở lại:
(time.struct_time(tm_year=2015, tm_mon=7, tm_mday=13, tm_hour=16, tm_min=22, tm_sec=10, tm_wday=0, tm_yday=194, tm_isdst=0), 0)
Tôi chưa bao giờ sử dụng thời gian phân tích cú pháp cho việc này, mặc dù đó là một cách thú vị để có được ngày đầu tiên mỗi tháng. Tuy nhiên, tôi thường làm điều này:
>>> datetime.datetime.now().replace(ngày=1, giờ=0, phút=0, giây=0)
Nó cũng giảm lãng phí tài nguyên vì bạn không phải phân tích bất kỳ văn bản nào trong thời gian chạy, nhưng đó thực sự là một lưu ý phụ.
Bạn có thể chuyển đổi nó thành time.struct_time thông qua timetuple():
>>> datetime.datetime.now().replace(ngày=1, giờ=0, phút=0, giây=0).timetuple()
time.struct_time(tm_year=2015, tm_mon=7, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=182, tm_isdst=-1)
Tôi là một lập trình viên xuất sắc, rất giỏi!