471,354 Members | 1,738 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,354 software developers and data experts.

find difference in days from YYYYMMDD to YYYYMMDD

Hi,
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?
Or just an algorithm, that converts YYYYMMDD to seconds since the epoch?

Thanks
Sep 22 '07 #1
5 6208
Konstantinos Pachopoulos schrieb:
Hi,
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?
Or just an algorithm, that converts YYYYMMDD to seconds since the epoch?
See the modules datetime and time in the standard library.

Diez
Sep 22 '07 #2
On 22/09/2007 7:37 PM, Konstantinos Pachopoulos wrote:
Hi,
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?

The literal answer to your question is, unsurprisingly, "Yes".

Now, what do you really want/need:

(a) details of an algorithm so that you can code it in Python
(b) an implementation of (a)
(c) a hint that Python might already have a standard module for date
calculations
(d) a hint that there are things called search engines ... just copy
your subject and paste it in

Or just an algorithm, that converts YYYYMMDD to seconds since the epoch?
There is no such thing as "the" (unqualified) epoch.

Try days_difference(from_date=your_chosen_epoch, to_date=some_date) * 24
* 60 * 60
Sep 22 '07 #3
On 22 sep, 11:37, Konstantinos Pachopoulos <kostaspa...@yahoo.gr>
wrote:
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?
Once I needed the same and I wrote:

def days_difference(s1, s2):
splitdate = lambda s: time.strptime(s, "%Y%m%d")[:3]
str2date = lambda s: datetime.date(*splitdate(s))
delta = str2date(s1) - str2date(s2)
return delta.days

print days_difference("20071112", "20061029") # 379

Although I'm sure there is a better way.

arnau

Sep 22 '07 #4
On Sep 22, 2:37 am, Konstantinos Pachopoulos <kostaspa...@yahoo.gr>
wrote:
Hi,
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?
Or just an algorithm, that converts YYYYMMDD to seconds since the epoch?

Thanks
For some reason, to-seconds-since-epoch is in the calendar class.
calendar.timegm() takes a tuple and returns the epoch seconds
import time
import calendar

today_secs = calendar.timegm( (2007, 9, 22, 0, 0, 0) )
print today_secs
one_day = 24*60*60
print time.gmtime( today_secs+one_day )

Sep 22 '07 #5
On Sep 22, 5:37 am, Konstantinos Pachopoulos <kostaspa...@yahoo.gr>
wrote:
Hi,
does any body now any such algorith? to find difference in days from
YYYYMMDD to YYYYMMDD?
Or just an algorithm, that converts YYYYMMDD to seconds since the epoch?

Thanks
Seen some complex answers here. Let's keep it dead simple. Use the
datetime module to do the heavy lifting. Go to IDLE, write this.

import datetime.

Then start to write this:

difference = datetime.date(

and at that point IDLE will tell you to put in year,month,day. That's
convenient. Do as IDLE asks, obey IDLE! Wind up with this (put date
later in history first, here are two I've used):

difference = datetime.date(2007,9,25) - datetime.date(1970,12,25)
print difference

13419 days, 0:00:00

Hey now! Date math! Yeah!

Sep 23 '07 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Hans Gruber | last post: by
2 posts views Thread by Alex | last post: by
26 posts views Thread by Frank | last post: by
10 posts views Thread by =?Utf-8?B?TWlrZQ==?= | last post: by
15 posts views Thread by student4lifer | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.