timedelta problem

Denis McMahon denismfmcmahon at gmail.com
Fri Aug 15 03:39:23 EDT 2014


On Fri, 15 Aug 2014 10:24:47 +0800, luofeiyu wrote:

On further inspection, it seems that strptime() in 2.7 doesn't handle %z 
at all. In 3.2, it ignores the value it gets, because there's no 
practical way to select the "right" tz string from the offset.

For example, a dictionary of offset minutes to tzstrings looks something 
like this:

{
-720: ['BIT'], 
-660: ['NUT', 'SST'], 
-600: ['CKT', 'HAST', 'HST', 'TAHT'], 
-570: ['MART', 'MIT'], 
-540: ['AKST', 'GAMT', 'GIT', 'HADT'], 
-480: ['AKDT', 'CIST', 'PST'], 
-420: ['MST', 'PDT'], 
-360: ['CST', 'EAST', 'GALT', 'MDT'], 
-300: ['CDT', 'COT', 'CST', 'EASST', 'ECT', 'EST', 'PET'], 
-270: ['VET'], 
-240: ['AMT', 'AST', 'BOT', 'CDT', 'CLT', 'COST', 'ECT', 'EDT', 'FKT', 
'GYT', 'PYT'], 
-210: ['NST', 'NT'], 
-180: ['ADT', 'AMST', 'ART', 'BRT', 'CLST', 'FKST', 'FKST', 'GFT', 'PMST', 
'PYST', 'ROTT', 'SRT', 'UYT'], 
-150: ['NDT'], 
-120: ['FNT', 'GST', 'PMDT', 'UYST'], 
-60: ['AZOST', 'CVT', 'EGT'], 
0: ['GMT', 'UCT', 'UTC', 'WET', 'Z', 'EGST'], 
60: ['BST', 'CET', 'DFT', 'IST', 'MET', 'WAT', 'WEDT', 'WEST'], 
120: ['CAT', 'CEDT', 'CEST', 'EET', 'HAEC', 'IST', 'MEST', 'SAST', 
'WAST'], 
180: ['AST', 'EAT', 'EEDT', 'EEST', 'FET', 'IDT', 'IOT', 'SYOT'], 
210: ['IRST'], 
240: ['AMT', 'AZT', 'GET', 'GST', 'MSK', 'MUT', 'RET', 'SAMT', 'SCT', 
'VOLT'], 
270: ['AFT', 'IRDT'], 
300: ['AMST', 'HMT', 'MAWT', 'MVT', 'ORAT', 'PKT', 'TFT', 'TJT', 'TMT', 
'UZT'], 
330: ['IST', 'SLST'], 
345: ['NPT'], 
360: ['BIOT', 'BST', 'BTT', 'KGT', 'VOST', 'YEKT'], 
390: ['CCT', 'MMT', 'MST'], 
420: ['CXT', 'DAVT', 'HOVT', 'ICT', 'KRAT', 'OMST', 'THA', 'WIT'], 
480: ['ACT', 'AWST', 'BDT', 'CHOT', 'CIT', 'CST', 'CT', 'HKT', 'MST', 
'MYT', 'PST', 'SGT', 'SST', 'ULAT', 'WST'], 
525: ['CWST'], 
540: ['AWDT', 'EIT', 'IRKT', 'JST', 'KST', 'TLT'], 
570: ['ACST', 'CST'], 
600: ['AEST', 'CHUT', 'DDUT', 'EST', 'PGT', 'VLAT', 'YAKT'], 
630: ['ACDT', 'CST', 'LHST'], 
660: ['AEDT', 'KOST', 'LHST', 'MIST', 'NCT', 'PONT', 'SAKT', 'SBT', 
'VUT'], 
690: ['NFT'], 
720: ['FJT', 'GILT', 'MAGT', 'MHT', 'NZST', 'PETT', 'TVT', 'WAKT'], 
765: ['CHAST']
780: ['NZDT', 'PHOT', 'TKT', 'TOT'], 
825: ['CHADT'], 
840: ['LINT'], 
}

I've patched my 2.7 to set a tz string of "UTC[+-]nnnn" from the [+-]nnnn 
%z value.

-- 
Denis McMahon, denismfmcmahon at gmail.com



More information about the Python-list mailing list