Size: 1957
Comment:
|
Size: 2109
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
The last three are RFC2616 valid formats that can be used in HTTP headers such as {{{Last-Modified}}} or {{{If-Modified-Since}}}. The datetime object generated can be used to compare for conditional GETs. | The last three are RFC-2616 valid formats that can be used in HTTP headers such as {{{Last-Modified}}} or {{{If-Modified-Since}}}. The datetime object generated can be used to compare for conditional GETs. The datetime objects that are generated for the RFC-2616 formats are timezone naive since all headers are in GMT (UTC) time and can be compared as is. |
Date/Time Conversion
This utility class will convert different date time formats into the proper format to create a Python datetime object. It will use the current locate to determine differences that can not be determined in any other way such as 01/01/2010 meaning either dd/mm/yyyy or mm/dd/yyyy.
The methods are all classmethods.
A string value is passed into the DateUtils.toDatetime() method. If you know the format of your date or only want to allow a specific format that format can be passed into the format keyword argument.
Implemented Formats
- yyyy-mm-dd hh:mm:ss (with or without milliseconds)
- mm-dd-yyyy hh:mm:ss (with or without milliseconds)
- dd-mm-yyyy hh:mm:ss (with or without milliseconds)
- yyyymmddHHMMSS (with or without milliseconds)
- wkday, dd month yyyy hh:mm:ss GMT
- weekday, dd-month-yy hh:mm:ss GMT
- wkday month dd hh:mm:ss yyyy
The last three are RFC-2616 valid formats that can be used in HTTP headers such as Last-Modified or If-Modified-Since. The datetime object generated can be used to compare for conditional GETs. The datetime objects that are generated for the RFC-2616 formats are timezone naive since all headers are in GMT (UTC) time and can be compared as is.
Examples
- - Date but no time
from dateutils import DateUtils DateUtils.toDatetime('2010/04/05') Out[2]: datetime.datetime(2010, 4, 5, 0, 0)
- - Date and Time
from dateutils import DateUtils DateUtils.toDatetime('2010/04/05 23:20:59') Out[3]: datetime.datetime(2010, 4, 5, 23, 20, 59)
- - Date, Time and the format is specified.
from dateutils import DateUtils DateUtils.toDatetime('20100405232059', format="yyyymmddHHMMSS") Out[6]: datetime.datetime(2010, 4, 5, 23, 20, 59)
Exceptions
A ValueError will be raised if the value does not match the format or if the format can not be determined.
A KeyError will be raised if the the date time format is not supported.