Tôi muốn trích xuất năm từ ngày hiện tại bằng cách sử dụng Python.Làm thế nào để trích xuất năm từ một đối tượng datetime Python?
Trong C#, điều này có vẻ như:
DateTime a = DateTime.Now()
a.Year
gì là cần thiết trong Python?
Tôi muốn trích xuất năm từ ngày hiện tại bằng cách sử dụng Python.Làm thế nào để trích xuất năm từ một đối tượng datetime Python?
Trong C#, điều này có vẻ như:
DateTime a = DateTime.Now()
a.Year
gì là cần thiết trong Python?
Đó là trên thực tế gần như giống nhau trong Python .. :-)
import datetime
year = datetime.date.today().year
Tất nhiên, ngày không có thời gian liên quan, vì vậy nếu bạn xe e về điều đó quá, bạn có thể làm tương tự với một đối tượng datetime hoàn chỉnh:
import datetime
year = datetime.datetime.today().year
(Rõ ràng là không có khác nhau, nhưng bạn có thể lưu trữ datetime.datetime.today() trong một biến trước khi bạn lấy năm, tất nhiên).
Một điều quan trọng cần lưu ý là các thành phần thời gian có thể khác nhau giữa các pythons 32 bit và 64 bit trong một số phiên bản python (cây 2.5.x mà tôi nghĩ). Vì vậy, bạn sẽ tìm thấy những thứ như giờ/phút/giây trên một số nền tảng 64 bit, trong khi bạn nhận được giờ/phút/giây trên 32-bit.
import datetime
a = datetime.datetime.today().year
hoặc thậm chí (như Lennart gợi ý)
a = datetime.datetime.now().year
hoặc thậm chí
a = datetime.date.today().year
Các câu trả lời khác cho câu hỏi này dường như đánh nó ngay tại chỗ. Bây giờ làm thế nào bạn sẽ tìm ra điều này cho chính mình mà không có tràn ngăn xếp? Kiểm tra IPython, một vỏ Python tương tác có tab tự động hoàn thành.
> ipython
import Python 2.5 (r25:51908, Nov 6 2007, 16:54:01)
Type "copyright", "credits" or "license" for more information.
IPython 0.8.2.svn.r2750 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In [1]: import datetime
In [2]: now=datetime.datetime.now()
In [3]: now.
nhân tab một vài lần và bạn sẽ được nhắc với các thành viên của "bây giờ" đối tượng:
now.__add__ now.__gt__ now.__radd__ now.__sub__ now.fromordinal now.microsecond now.second now.toordinal now.weekday
now.__class__ now.__hash__ now.__reduce__ now.astimezone now.fromtimestamp now.min now.strftime now.tzinfo now.year
now.__delattr__ now.__init__ now.__reduce_ex__ now.combine now.hour now.minute now.strptime now.tzname
now.__doc__ now.__le__ now.__repr__ now.ctime now.isocalendar now.month now.time now.utcfromtimestamp
now.__eq__ now.__lt__ now.__rsub__ now.date now.isoformat now.now now.timetuple now.utcnow
now.__ge__ now.__ne__ now.__setattr__ now.day now.isoweekday now.replace now.timetz now.utcoffset
now.__getattribute__ now.__new__ now.__str__ now.dst now.max now.resolution now.today now.utctimetuple
và bạn sẽ thấy rằng now.year là thành viên của đối tượng "now".
Ngoài ra, điều này: http://docs.python.org/library/datatypes.html Nhưng cảm ơn bạn, tôi không biết rằng về IPython –
Kudo cho giải quyết vấn đề * - bổ sung cho giải pháp thực tế. –
Nếu bạn muốn các năm từ (không rõ) datetime-đối tượng:
tijd = datetime.datetime(9999, 12, 31, 23, 59, 59)
>>> tijd.timetuple()
time.struct_time(tm_year=9999, tm_mon=12, tm_mday=31, tm_hour=23, tm_min=59, tm_sec=59, tm_wday=4, tm_yday=365, tm_isdst=-1)
>>> tijd.timetuple().tm_year
9999
Mặc dù bây giờ() cảm thấy tự nhiên hơn trên datetime. datetime.date.today(). Năm, có thể. :) –
Tôi đã không nghĩ về điều đó, và tôi đoán nó cảm thấy "chính xác" đối với thời gian, nơi mà ngày hôm nay() có vẻ hàm ý một sự chính xác của ngày. Điều kỳ lạ (ít nhất là trong 2.5.4) datetime.today() và datetime.now() làm điều tương tự –
Chúng không hoàn toàn giống nhau, datetime.now() chấp nhận một đối tượng múi giờ, trong khi datetime.today() chỉ cần gọi fromtimestamp (time.time()), và vì vậy hôm nay() sẽ luôn ở trong bất kỳ Python nào nghĩ múi giờ địa phương của bạn, trong khi bạn có thể nhận ngay bây giờ() để cho bạn biết những điều thú vị hơn một chút. –