date-time comparison, aware vs naive
I want to compare a user entered date-and-time against the date-and-time of a pdf file. I posted on this (how to get a file's date-time) before, was advised to do it like: import datetime, os, stat mtime = os.lstat(filename)[stat.ST_MTIME] // the files modification time dt = datetime.datetime.fromtimestamp(mtime) I am having problems with the comparison, that line is failing. I think I may have figured out the issue -- I think it is a matter of the file's time being 'aware' and the user-input date-time being 'naive'. The user-input date-time has a parameter type of date (calender and time tool supplied to enter), but is it 'aware'? The comparison is not working so I think that it is not aware. I can successfully compare two pdf file times against one another. So, is there a way to cast that user-input value (prints as 2/10/2012 3:19:57 PM) as an 'aware' date-time? How? And can anyone confirm that my findings are probably correct? Thanks for any help. -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
In 21eb3e6f-9a82-47aa-93ff-8f4083d18...@googlegroups.com noydb jenn.du...@gmail.com writes: I want to compare a user entered date-and-time against the date-and-time of a pdf file. I posted on this (how to get a file's date-time) before, was advised to do it like: import datetime, os, stat mtime = os.lstat(filename)[stat.ST_MTIME] // the files modification time dt = datetime.datetime.fromtimestamp(mtime) I am having problems with the comparison, that line is failing. What line? You haven't posted any comparison line of code here. Please post the actual code you're using, instead of telling us about it. -- John Gordon A is for Amy, who fell down the stairs gor...@panix.com B is for Basil, assaulted by bears -- Edward Gorey, The Gashlycrumb Tinies -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
Found this, and it solved my problem http://blogs.law.harvard.edu/rprasad/2011/09/21/python-string-to-a-datetime-object/ -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
On Mon, 10 Dec 2012 11:57:37 -0800, noydb wrote: I want to compare a user entered date-and-time against the date-and-time of a pdf file. I posted on this (how to get a file's date-time) before, was advised to do it like: import datetime, os, stat mtime = os.lstat(filename)[stat.ST_MTIME] // the files modification time What language are you writing? Using // for comments is not Python. dt = datetime.datetime.fromtimestamp(mtime) I am having problems with the comparison, that line is failing. You haven't shown us the comparison line. Would you like us to guess what it does? My guess is that you are doing this: if mtime is dtime: ... Am I close? If not, please forgive me, my crystal ball is often faulty. I think I may have figured out the issue -- I think it is a matter of the file's time being 'aware' and the user-input date-time being 'naive'. Aware of what? -- Steven -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
On Monday, December 10, 2012 3:52:55 PM UTC-5, Steven D'Aprano wrote: On Mon, 10 Dec 2012 11:57:37 -0800, noydb wrote: I want to compare a user entered date-and-time against the date-and-time of a pdf file. I posted on this (how to get a file's date-time) before, was advised to do it like: import datetime, os, stat mtime = os.lstat(filename)[stat.ST_MTIME] // the files modification time What language are you writing? Using // for comments is not Python. dt = datetime.datetime.fromtimestamp(mtime) I am having problems with the comparison, that line is failing. You haven't shown us the comparison line. Would you like us to guess what it does? My guess is that you are doing this: if mtime is dtime: ... Am I close? If not, please forgive me, my crystal ball is often faulty. I think I may have figured out the issue -- I think it is a matter of the file's time being 'aware' and the user-input date-time being 'naive'. Aware of what? -- Steven Forgive me, I was just copying the code from the original reply to my orignal question. Forgive me for not posting the comparison line, it goes something like if one_time another_time: Forgive me - the 'aware' time vs 'naive' time refers to documentation I found for the datetime module, see second sentence down http://docs.python.org/2/library/datetime.html -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
On 12/10/2012 03:52 PM, Steven D'Aprano wrote: On Mon, 10 Dec 2012 11:57:37 -0800, noydb wrote: I want to compare a user entered date-and-time against the date-and-time of a pdf file. I posted on this (how to get a file's date-time) before, was advised to do it like: import datetime, os, stat mtime = os.lstat(filename)[stat.ST_MTIME] // the files modification time What language are you writing? Using // for comments is not Python. dt = datetime.datetime.fromtimestamp(mtime) I am having problems with the comparison, that line is failing. You haven't shown us the comparison line. Would you like us to guess what it does? My guess is that you are doing this: if mtime is dtime: ... Am I close? If not, please forgive me, my crystal ball is often faulty. I think I may have figured out the issue -- I think it is a matter of the file's time being 'aware' and the user-input date-time being 'naive'. Aware of what? http://docs.python.org/2/library/datetime An object of type *time* or *datetime* may be naive or *aware aware refers to time-zone and daylight savings time, such political ephemerals. Two times can only be changed if one knows they're both in the same one, or if one knows precisely what each is. * naive assumes the former, while aware trusts the latter. To the OP: please specify your python version, your OS, and show your source. Also show the complete error traceback. And while you're at it, it might be useful to know the type of drive the file is on, since Windows uses local times on FAT32 partitions, and gmt on NTFS partitions. I suspect you're on Windows, so I can't help you with this nonsense. But I can at least help you ask a clear question. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list
Re: date-time comparison, aware vs naive
http://docs.python.org/2/library/datetime An object of type *time* or *datetime* may be naive or *aware aware refers to time-zone and daylight savings time, such political ephemerals. Two times can only be changed if one knows they're both in the same one, or if one knows precisely what each is. * naive assumes the former, while aware trusts the latter. To the OP: please specify your python version, your OS, and show your source. Also show the complete error traceback. And while you're at it, it might be useful to know the type of drive the file is on, since Windows uses local times on FAT32 partitions, and gmt on NTFS partitions. I suspect you're on Windows, so I can't help you with this nonsense. But I can at least help you ask a clear question. -- DaveA Fair enough, thanks -- http://mail.python.org/mailman/listinfo/python-list