Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > date-time comparison, aware vs naive

Reply
Thread Tools

date-time comparison, aware vs naive

 
 
noydb
Guest
Posts: n/a
 
      12-10-2012
I want to compare a user entered date-and-time against the date-and-time ofa 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 timebeing '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.
 
Reply With Quote
 
 
 
 
John Gordon
Guest
Posts: n/a
 
      12-10-2012
In <(E-Mail Removed)> noydb <(E-Mail Removed)> 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
http://www.velocityreviews.com/forums/(E-Mail Removed) B is for Basil, assaulted by bears
-- Edward Gorey, "The Gashlycrumb Tinies"

 
Reply With Quote
 
 
 
 
noydb
Guest
Posts: n/a
 
      12-10-2012
Found this, and it solved my problem
http://blogs.law.harvard.edu/rprasad...tetime-object/
 
Reply With Quote
 
Steven D'Aprano
Guest
Posts: n/a
 
      12-10-2012
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
 
Reply With Quote
 
noydb
Guest
Posts: n/a
 
      12-10-2012
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
 
Reply With Quote
 
Dave Angel
Guest
Posts: n/a
 
      12-10-2012
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

 
Reply With Quote
 
noydb
Guest
Posts: n/a
 
      12-10-2012

>
> >

>
> >

>
> 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
 
Reply With Quote
 
noydb
Guest
Posts: n/a
 
      12-10-2012

>
> >

>
> >

>
> 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
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Why are timezone aware and naive datetimes not distinct classes? Roy Smith Python 8 03-11-2013 08:32 PM
Comparing offset-aware and offset-naive datetimes? Roy Smith Python 4 01-27-2013 03:17 PM
Naive question about dialling codes on VOIP usenet@isbd.co.uk UK VOIP 11 01-20-2006 07:23 PM
Naive question: Crystal reports in ASP.NET =?Utf-8?B?a2Q=?= ASP .Net 1 05-28-2005 02:23 PM
Hi, bit naive, but could you suggest me an undergrad. project in XML tech. Waqas XML 5 11-15-2004 02:47 PM



Advertisments