date-time comparison, aware vs naive

2012-12-10 Thread noydb
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

2012-12-10 Thread John Gordon
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

2012-12-10 Thread noydb
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

2012-12-10 Thread Steven D'Aprano
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

2012-12-10 Thread noydb
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

2012-12-10 Thread Dave Angel
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

2012-12-10 Thread noydb

 
 
 
 
 
 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