from dateutil.relativedelta import * from dateutil.easter import * from dateutil.rrule import * from dateutil.parser import * from datetime import * import commands import os now = parse(commands.getoutput("date")) today = now.date() year = rrule(YEARLY,bymonth=8,bymonthday=13,byweekday=FR)[0]rdelta = relativedelta(easter(year), today) print "Today is:", today print "Year with next Aug 13th on a Friday is:", year print "How far is the Easter of that year:", rdelta print "And the Easter of that year is:", today+rdelta list(rrule(DAILY, count=3, byweekday=(TU, TH), bysetpos=1, ...dtstart=datetime(2007,1,1))) [datetime.datetime(2007, 1, 2, 0, 0), datetime.datetime(2007, 1, 4, 0, 0), datetime.datetime(2007, 1, 9, 0, 0)] list(rrule(WEEKLY, count=3, byweekday=(TU, TH), bysetpos=1, ... dtstart=datetime(2007,1,1))) [datetime.datetime(2007, 1, 2, 0, 0), datetime.datetime(2007, 1, 9, 0, 0), datetime.datetime(2007, 1, 16, 0, 0)] list(rrule(DAILY, count=10, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 3, 9, 0), datetime.datetime(1997, 9, 4, 9, 0), datetime.datetime(1997, 9, 5, 9, 0), datetime.datetime(1997, 9, 6, 9, 0), datetime.datetime(1997, 9, 7, 9, 0), datetime.datetime(1997, 9, 8, 9, 0), datetime.datetime(1997, 9, 9, 9, 0), datetime.datetime(1997, 9, 10, 9, 0), datetime.datetime(1997, 9, 11, 9, 0)] list(rrule(DAILY, dtstart=parse("19970902T090000"), until=parse("19971224T000000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 3, 9, 0), datetime.datetime(1997, 9, 4, 9, 0), (...) datetime.datetime(1997, 12, 21, 9, 0), datetime.datetime(1997, 12, 22, 9, 0), datetime.datetime(1997, 12, 23, 9, 0)] list(rrule(DAILY, interval=2, count=5, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 4, 9, 0), datetime.datetime(1997, 9, 6, 9, 0), datetime.datetime(1997, 9, 8, 9, 0), datetime.datetime(1997, 9, 10, 9, 0)] list(rrule(DAILY, interval=10, count=5, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 12, 9, 0), datetime.datetime(1997, 9, 22, 9, 0), datetime.datetime(1997, 10, 2, 9, 0), datetime.datetime(1997, 10, 12, 9, 0)] list(rrule(YEARLY, bymonth=1, byweekday=range(7), dtstart=parse("19980101T090000"), until=parse("20000131T090000"))) [datetime.datetime(1998, 1, 1, 9, 0), datetime.datetime(1998, 1, 2, 9, 0), (...) datetime.datetime(1998, 1, 30, 9, 0), datetime.datetime(1998, 1, 31, 9, 0), datetime.datetime(1999, 1, 1, 9, 0), datetime.datetime(1999, 1, 2, 9, 0), (...) datetime.datetime(1999, 1, 30, 9, 0), datetime.datetime(1999, 1, 31, 9, 0), datetime.datetime(2000, 1, 1, 9, 0), datetime.datetime(2000, 1, 2, 9, 0), (...) datetime.datetime(2000, 1, 29, 9, 0), datetime.datetime(2000, 1, 31, 9, 0)] list(rrule(WEEKLY, count=10, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 9, 9, 0), datetime.datetime(1997, 9, 16, 9, 0), datetime.datetime(1997, 9, 23, 9, 0), datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 10, 7, 9, 0), datetime.datetime(1997, 10, 14, 9, 0), datetime.datetime(1997, 10, 21, 9, 0), datetime.datetime(1997, 10, 28, 9, 0), datetime.datetime(1997, 11, 4, 9, 0)] list(rrule(WEEKLY, interval=2, count=6, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 16, 9, 0), datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 10, 14, 9, 0), datetime.datetime(1997, 10, 28, 9, 0), datetime.datetime(1997, 11, 11, 9, 0)] list(rrule(WEEKLY, count=10, wkst=SU, byweekday=(TU, TH), dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 4, 9, 0), datetime.datetime(1997, 9, 9, 9, 0), datetime.datetime(1997, 9, 11, 9, 0), datetime.datetime(1997, 9, 16, 9, 0), datetime.datetime(1997, 9, 18, 9, 0), datetime.datetime(1997, 9, 23, 9, 0), datetime.datetime(1997, 9, 25, 9, 0), datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 10, 2, 9, 0)] list(rrule(WEEKLY, interval=2, count=8, wkst=SU, byweekday=(TU, TH), dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 4, 9, 0), datetime.datetime(1997, 9, 16, 9, 0), datetime.datetime(1997, 9, 18, 9, 0), datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 10, 2, 9, 0), datetime.datetime(1997, 10, 14, 9, 0), datetime.datetime(1997, 10, 16, 9, 0)] list(rrule(MONTHLY, count=10, byweekday=FR(1), dtstart=parse("19970905T090000"))) [datetime.datetime(1997, 9, 5, 9, 0), datetime.datetime(1997, 10, 3, 9, 0), datetime.datetime(1997, 11, 7, 9, 0), datetime.datetime(1997, 12, 5, 9, 0), datetime.datetime(1998, 1, 2, 9, 0), datetime.datetime(1998, 2, 6, 9, 0), datetime.datetime(1998, 3, 6, 9, 0), datetime.datetime(1998, 4, 3, 9, 0), datetime.datetime(1998, 5, 1, 9, 0), datetime.datetime(1998, 6, 5, 9, 0)] list(rrule(MONTHLY, interval=2, count=10, byweekday=(SU(1), SU(-1)), dtstart=parse("19970907T090000"))) [datetime.datetime(1997, 9, 7, 9, 0), datetime.datetime(1997, 9, 28, 9, 0), datetime.datetime(1997, 11, 2, 9, 0), datetime.datetime(1997, 11, 30, 9, 0), datetime.datetime(1998, 1, 4, 9, 0), datetime.datetime(1998, 1, 25, 9, 0), datetime.datetime(1998, 3, 1, 9, 0), datetime.datetime(1998, 3, 29, 9, 0), datetime.datetime(1998, 5, 3, 9, 0), datetime.datetime(1998, 5, 31, 9, 0)] list(rrule(MONTHLY, count=6, byweekday=MO(-2), dtstart=parse("19970922T090000"))) [datetime.datetime(1997, 9, 22, 9, 0), datetime.datetime(1997, 10, 20, 9, 0), datetime.datetime(1997, 11, 17, 9, 0), datetime.datetime(1997, 12, 22, 9, 0), datetime.datetime(1998, 1, 19, 9, 0), datetime.datetime(1998, 2, 16, 9, 0)] list(rrule(MONTHLY, count=6, bymonthday=-3, dtstart=parse("19970928T090000"))) [datetime.datetime(1997, 9, 28, 9, 0), datetime.datetime(1997, 10, 29, 9, 0), datetime.datetime(1997, 11, 28, 9, 0), datetime.datetime(1997, 12, 29, 9, 0), datetime.datetime(1998, 1, 29, 9, 0), datetime.datetime(1998, 2, 26, 9, 0)] list(rrule(MONTHLY, count=5, bymonthday=(2,15), dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 15, 9, 0), datetime.datetime(1997, 10, 2, 9, 0), datetime.datetime(1997, 10, 15, 9, 0), datetime.datetime(1997, 11, 2, 9, 0)] list(rrule(MONTHLY, count=5, bymonthday=(-1,1,), dtstart=parse("1997090 2T090000"))) [datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 10, 1, 9, 0), datetime.datetime(1997, 10, 31, 9, 0), datetime.datetime(1997, 11, 1, 9, 0), datetime.datetime(1997, 11, 30, 9, 0)] list(rrule(MONTHLY, interval=18, count=10, bymonthday=range(10,16), dtstart=parse("19970910T090000"))) [datetime.datetime(1997, 9, 10, 9, 0), datetime.datetime(1997, 9, 11, 9, 0), datetime.datetime(1997, 9, 12, 9, 0), datetime.datetime(1997, 9, 13, 9, 0), datetime.datetime(1997, 9, 14, 9, 0), datetime.datetime(1997, 9, 15, 9, 0), datetime.datetime(1999, 3, 10, 9, 0), datetime.datetime(1999, 3, 11, 9, 0), datetime.datetime(1999, 3, 12, 9, 0), datetime.datetime(1999, 3, 13, 9, 0)] list(rrule(MONTHLY, interval=2, count=6, byweekday=TU, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 9, 9, 0), datetime.datetime(1997, 9, 16, 9, 0), datetime.datetime(1997, 9, 23, 9, 0), datetime.datetime(1997, 9, 30, 9, 0), datetime.datetime(1997, 11, 4, 9, 0)] list(rrule(YEARLY, count=4, bymonth=(6,7), dtstart=parse("19970610T0900 00"))) [datetime.datetime(1997, 6, 10, 9, 0), datetime.datetime(1997, 7, 10, 9, 0), datetime.datetime(1998, 6, 10, 9, 0), datetime.datetime(1998, 7, 10, 9, 0)] list(rrule(YEARLY, count=4, interval=3, byyearday=(1,100,200), dtstart=parse("19970101T090000"))) [datetime.datetime(1997, 1, 1, 9, 0), datetime.datetime(1997, 4, 10, 9, 0), datetime.datetime(1997, 7, 19, 9, 0), datetime.datetime(2000, 1, 1, 9, 0)] list(rrule(YEARLY, count=3, byweekno=20, byweekday=MO, dtstart=parse("19970512T090000"))) [datetime.datetime(1997, 5, 12, 9, 0), datetime.datetime(1998, 5, 11, 9, 0), datetime.datetime(1999, 5, 17, 9, 0)] list(rrule(WEEKLY, count=3, byweekno=1, byweekday=MO, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 12, 29, 9, 0), datetime.datetime(1999, 1, 4, 9, 0), datetime.datetime(2000, 1, 3, 9, 0)] list(rrule(WEEKLY, count=3, byweekno=52, byweekday=SU, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 12, 28, 9, 0), datetime.datetime(1998, 12, 27, 9, 0), datetime.datetime(2000, 1, 2, 9, 0)] list(rrule(WEEKLY, count=3, byweekno=53, byweekday=MO, dtstart=parse("19970902T090000"))) [datetime.datetime(1998, 12, 28, 9, 0), datetime.datetime(2004, 12, 27, 9, 0), datetime.datetime(2009, 12, 28, 9, 0)] list(rrule(YEARLY, count=4, byweekday=FR, bymonthday=13, dtstart=parse("19970902T090000"))) [datetime.datetime(1998, 2, 13, 9, 0), datetime.datetime(1998, 3, 13, 9, 0), datetime.datetime(1998, 11, 13, 9, 0), datetime.datetime(1999, 8, 13, 9, 0)] list(rrule(YEARLY, interval=4, count=3, bymonth=11, byweekday=TU, bymonthday=(2,3,4,5,6,7,8), dtstart=parse("19961105T090000"))) [datetime.datetime(1996, 11, 5, 9, 0), datetime.datetime(2000, 11, 7, 9, 0), datetime.datetime(2004, 11, 2, 9, 0)] list(rrule(MONTHLY, count=3, byweekday=(TU, WE, TH), bysetpos=3, dtstart=parse("19970904T090000"))) [datetime.datetime(1997, 9, 4, 9, 0), datetime.datetime(1997, 10, 7, 9, 0), datetime.datetime(1997, 11, 6, 9, 0)] list(rrule(MONTHLY, count=3, byweekday=(MO, TU, WE, TH, FR), bysetpos=-2, dtstart=parse("19970929T090000"))) [datetime.datetime(1997, 9, 29, 9, 0), datetime.datetime(1997, 10, 30, 9, 0), datetime.datetime(1997, 11, 27, 9, 0)] list(rrule(HOURLY, interval=3, dtstart=parse("19970902T090000"), until=parse("19970902T170000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 2, 12, 0), datetime.datetime(1997, 9, 2, 15, 0)] list(rrule(MINUTELY, interval=15, count=6, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 2, 9, 15), datetime.datetime(1997, 9, 2, 9, 30), datetime.datetime(1997, 9, 2, 9, 45), datetime.datetime(1997, 9, 2, 10, 0), datetime.datetime(1997, 9, 2, 10, 15)] list(rrule(MINUTELY, interval=90, count=4, dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 2, 10, 30), datetime.datetime(1997, 9, 2, 12, 0), datetime.datetime(1997, 9, 2, 13, 30)] list(rrule(MINUTELY, interval=20, count=48, byhour=range(9,17), byminute=(0,20,40), dtstart=parse("19970902T090000"))) [datetime.datetime(1997, 9, 2, 9, 0), datetime.datetime(1997, 9, 2, 9, 20), (...) datetime.datetime(1997, 9, 2, 16, 20), datetime.datetime(1997, 9, 2, 16, 40), datetime.datetime(1997, 9, 3, 9, 0), datetime.datetime(1997, 9, 3, 9, 20), (...) datetime.datetime(1997, 9, 3, 16, 20), datetime.datetime(1997, 9, 3, 16, 40)] list(rrule(WEEKLY, interval=2, count=4, byweekday=(TU, SU), wkst=MO, dtstart=parse("19970805T090000"))) [datetime.datetime(1997, 8, 5, 9, 0), datetime.datetime(1997, 8, 10, 9, 0), datetime.datetime(1997, 8, 19, 9, 0), datetime.datetime(1997, 8, 24, 9, 0)] list(rrule(WEEKLY, interval=2, count=4, byweekday=(TU, SU), wkst=SU, dtstart=parse("19970805T090000"))) [datetime.datetime(1997, 8, 5, 9, 0), datetime.datetime(1997, 8, 17, 9, 0), datetime.datetime(1997, 8, 19, 9, 0), datetime.datetime(1997, 8, 31, 9, 0)] list(rrulestr(""" ...

While doing so, we will have to learn about how radiometric dating works. There exists different versions, or isotopes of many elements.

There are many different kinds of radiometric dating and not all conclusions we will reach can be extrapolated to all methods used. These isotopes differ in the number of neutrons they have in their nuclei.

Also, different radiometric dating techniques independently converges with each other and with other dating techniques such as dendrochronology, layers in sediment, growth rings on corals, rhythmic layering of ice in glaciers, magnetostratigraphy, fission tracks and many other methods. Those isotopes that are not stable decay into daughter nuclei.

This serves as strong evidence for the reliability of radiometric dating methods. Those that did the decaying are called parent nuclei.

If you have a rock that contains radioactive isotopes, these will decay over time.

As time goes on, the ratio of the parent to daughter nuclei will change and decrease (as more parent nuclei decay into daughter nuclei, the former decreases and the latter increases).

Measuring this ratio gives us an idea of how long ago the rock formed. Doesn’t this assume that the rocks are closed systems? Radiometric dating and testing for contamination and disturbances On of the great things about many forms of radiometric dating is that they are self-checking.

These claims generally land in three different categories: (1) radiometric dating assumes that initial conditions (concentrations of mother and daughter nuclei) are known, (2) radiometric dating assumes that rocks are closed systems and (3) radiometric dating assumes that decay rates are constant.

Most young earth creationists reject all of these points.

As a scientific skeptics, we ask ourselves: is this really the case?

Let us critically examine each of these claims and see if they hold up against the science.