Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > How do I convert String into Date object

Reply
Thread Tools

How do I convert String into Date object

 
 
MrPink
Guest
Posts: n/a
 
      08-13-2011
Is this the correct way to convert a String into a Date?
I only have dates and no time.

import time, datetime

oDate = time.strptime('07/27/2011', '%m/%d/%Y')
print oDate

Thanks,
 
Reply With Quote
 
 
 
 
MrPink
Guest
Posts: n/a
 
      08-13-2011
I have file of records delimited by spaces.
I need to import the date string and convert them into date datatypes.

'07/27/2011' 'Event 1 Description'
'07/28/2011' 'Event 2 Description'
'07/29/2011' 'Event 3 Description'

I just discovered that my oDate is not an object, but a structure and
not a date datatype.
I'm stumped. Is there a way to convert a string into a date datatype
for comparisons, equality, etc?

Thanks,

On Aug 13, 3:14*pm, MrPink <(E-Mail Removed)> wrote:
> Is this the correct way to convert a String into a Date?
> I only have dates and no time.
>
> import time, datetime
>
> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
> print oDate
>
> Thanks,


 
Reply With Quote
 
 
 
 
Sibylle Koczian
Guest
Posts: n/a
 
      08-13-2011
Am 13.08.2011 21:26, schrieb MrPink:
> I have file of records delimited by spaces.
> I need to import the date string and convert them into date datatypes.
>
> '07/27/2011' 'Event 1 Description'
> '07/28/2011' 'Event 2 Description'
> '07/29/2011' 'Event 3 Description'
>
> I just discovered that my oDate is not an object, but a structure and
> not a date datatype.
> I'm stumped. Is there a way to convert a string into a date datatype
> for comparisons, equality, etc?
>

There is. Only not in one step, if you want a date and not a datetime
instance:

>>> import datetime
>>> oDateTime = datetime.datetime.strptime('07/27/2011', '%m/%d/%Y')
>>> oDateTime

datetime.datetime(2011, 7, 27, 0, 0)
>>> oDate = oDateTime.date()
>>> oDate

datetime.date(2011, 7, 27)
>>>


HTH
Sibylle

 
Reply With Quote
 
Chris Rebert
Guest
Posts: n/a
 
      08-13-2011
On Sat, Aug 13, 2011 at 12:14 PM, MrPink <(E-Mail Removed)> wrote:
> Is this the correct way to convert a String into a Date?
> I only have dates and no time.
>
> import time, datetime
>
> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
> print oDate


from datetime import datetime
the_date = datetime.strptime('07/27/2011', '%m/%d/%Y').date()

Cheers,
Chris
 
Reply With Quote
 
Rafael Durán Castañeda
Guest
Posts: n/a
 
      08-13-2011
You can use datetime objects:

>>> dt1 = datetime.datetime.strptime('07/27/2011',"%m/%d/%Y")
>>> dt2 =datetime.datetime.strptime('07/28/2011',"%m/%d/%Y")
>>> dt1 == dt2

False
>>> dt1 > dt2

False
>>> dt1 < dt2

True
>>> dt1 - dt2

datetime.timedelta(-1)


On 13/08/11 21:26, MrPink wrote:
> I have file of records delimited by spaces.
> I need to import the date string and convert them into date datatypes.
>
> '07/27/2011' 'Event 1 Description'
> '07/28/2011' 'Event 2 Description'
> '07/29/2011' 'Event 3 Description'
>
> I just discovered that my oDate is not an object, but a structure and
> not a date datatype.
> I'm stumped. Is there a way to convert a string into a date datatype
> for comparisons, equality, etc?
>
> Thanks,
>
> On Aug 13, 3:14 pm, MrPink<(E-Mail Removed)> wrote:
>> Is this the correct way to convert a String into a Date?
>> I only have dates and no time.
>>
>> import time, datetime
>>
>> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
>> print oDate
>>
>> Thanks,


 
Reply With Quote
 
MrPink
Guest
Posts: n/a
 
      08-13-2011
BTW, here is the Python version I'm using.
Will this make a difference with the solutions you guys provided?

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin

Also, what editor do you guys use?
There are so many to chose from.

On Aug 13, 4:11*pm, Rafael Durán Castañeda
<(E-Mail Removed)> wrote:
> You can use datetime objects:
>
> *>>> dt1 = datetime.datetime.strptime('07/27/2011',"%m/%d/%Y")
> *>>> dt2 =datetime.datetime.strptime('07/28/2011',"%m/%d/%Y")
> *>>> dt1 == dt2
> False
> *>>> dt1 > dt2
> False
> *>>> dt1 < dt2
> True
> *>>> dt1 - dt2
> datetime.timedelta(-1)
>
> On 13/08/11 21:26, MrPink wrote:
>
>
>
>
>
>
>
> > I have file of records delimited by spaces.
> > I need to import the date string and convert them into date datatypes.

>
> > '07/27/2011' 'Event 1 Description'
> > '07/28/2011' 'Event 2 Description'
> > '07/29/2011' 'Event 3 Description'

>
> > I just discovered that my oDate is not an object, but a structure and
> > not a date datatype.
> > I'm stumped. *Is there a way to convert a string into a date datatype
> > for comparisons, equality, etc?

>
> > Thanks,

>
> > On Aug 13, 3:14 pm, MrPink<(E-Mail Removed)> *wrote:
> >> Is this the correct way to convert a String into a Date?
> >> I only have dates and no time.

>
> >> import time, datetime

>
> >> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
> >> print oDate

>
> >> Thanks,


 
Reply With Quote
 
Peter Otten
Guest
Posts: n/a
 
      08-13-2011
MrPink wrote:

> I have file of records delimited by spaces.
> I need to import the date string and convert them into date datatypes.
>
> '07/27/2011' 'Event 1 Description'
> '07/28/2011' 'Event 2 Description'
> '07/29/2011' 'Event 3 Description'
>
> I just discovered that my oDate is not an object, but a structure and
> not a date datatype.
> I'm stumped. Is there a way to convert a string into a date datatype
> for comparisons, equality, etc?
>
> Thanks,
>
> On Aug 13, 3:14 pm, MrPink <(E-Mail Removed)> wrote:
>> Is this the correct way to convert a String into a Date?
>> I only have dates and no time.
>>
>> import time, datetime


That looks like a fifty-percent chance to try the "wrong" module

>> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
>> print oDate


>>> import datetime as dt
>>> d = dt.date.strptime("07/27/2011", "%m/%d/%Y")

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.date' has no attribute 'strptime'

So you cannot construct a date from a date string either.
One more time:

>>> d = dt.datetime.strptime("07/27/2011", "%m/%d/%Y")
>>> d

datetime.datetime(2011, 7, 27, 0, 0)
>>> d.date()

datetime.date(2011, 7, 27)

$ cat csv_dates.csv
'07/27/2011' 'Event 1 Description'
'07/28/2011' 'Event 2 Description'
'07/29/2011' 'Event 3 Description'
$ cat csv_dates.py
import datetime
import csv

def rows(instream):
for row in csv.reader(instream, delimiter=" ", quotechar="'"):
row[0] = datetime.datetime.strptime(row[0], '%m/%d/%Y').date()
yield row

if __name__ == "__main__":
import sys
filename = sys.argv[1]

with open(filename, "rb") as instream:
for row in rows(instream):
print row
$ python csv_dates.py csv_dates.csv
[datetime.date(2011, 7, 27), 'Event 1 Description']
[datetime.date(2011, 7, 2, 'Event 2 Description']
[datetime.date(2011, 7, 29), 'Event 3 Description']


 
Reply With Quote
 
Roy Smith
Guest
Posts: n/a
 
      08-14-2011
In article
<(E-Mail Removed)>,
MrPink <(E-Mail Removed)> wrote:

> Is this the correct way to convert a String into a Date?
> I only have dates and no time.


You have already received a number of good replies, but let me throw out
one more idea. If you ever need to do something with dates and times
which the standard datetime module can't handle, take a look at the
excellent dateutil module by Gustavo Niemeyer
(http://labix.org/python-dateutil).
 
Reply With Quote
 
MrPink
Guest
Posts: n/a
 
      08-14-2011
I found this solution.

Python: Convert String Date to Date Object
http://slaptijack.com/programming/py...o-date-object/

On Aug 13, 3:14*pm, MrPink <(E-Mail Removed)> wrote:
> Is this the correct way to convert a String into a Date?
> I only have dates and no time.
>
> import time, datetime
>
> oDate = time.strptime('07/27/2011', '%m/%d/%Y')
> print oDate
>
> 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
Re: How include a large array? Edward A. Falk C Programming 1 04-04-2013 08:07 PM
Convert date recevied as String to date in local time zone deepak_kamath_n@yahoo.co.in C++ 8 05-01-2007 12:26 PM
Convert string into incremental date djray Perl Misc 7 06-01-2006 06:55 AM
how can I convert date infomation to a string just includes the date not the time wgan Java 7 07-08-2004 07:08 PM
Date, date date date.... Peter Grison Java 10 05-30-2004 01:20 PM



Advertisments