From 35298efd8ab67b6917f7ac526840bbd1c5e7207f Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Sun, 9 Jun 2024 04:14:32 +0300 Subject: [PATCH] Fix timezones --- mailboxes/mailboxes-lib.pl | 73 ++++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 14 deletions(-) diff --git a/mailboxes/mailboxes-lib.pl b/mailboxes/mailboxes-lib.pl index 1579b951b..72e09e826 100755 --- a/mailboxes/mailboxes-lib.pl +++ b/mailboxes/mailboxes-lib.pl @@ -1296,20 +1296,65 @@ eval "use DateTime; use DateTime::TimeZone;"; return \@events if ($@); # Timezone map my %timezone_map = ( - 'Eastern Standard Time' => 'EST', - 'Central Standard Time' => 'CST', - 'Mountain Standard Time' => 'MST', - 'Pacific Standard Time' => 'PST', - 'Alaskan Standard Time' => 'AKST', - 'Hawaiian Standard Time' => 'HST', - 'Atlantic Standard Time' => 'AST', - 'Newfoundland Standard Time' => 'NST', - 'Greenwich Mean Time' => 'GMT', - 'British Summer Time' => 'BST', - 'Central European Time' => 'CET', - 'Eastern European Time' => 'EET', - 'Australian Eastern Standard Time' => 'AEST', - 'Australian Central Standard Time' => 'ACST', + 'Eastern Standard Time' => 'EST', + 'Central Standard Time' => 'CST', + 'Mountain Standard Time' => 'MST', + 'Pacific Standard Time' => 'PST', + 'Alaskan Standard Time' => 'AKST', + 'Hawaiian Standard Time' => 'HST', + 'Atlantic Standard Time' => 'AST', + 'Newfoundland Standard Time' => 'NST', + 'Greenwich Mean Time' => 'GMT', + 'British Summer Time' => 'BST', + 'Central European Time' => 'CET', + 'Eastern European Time' => 'EET', + 'Australian Eastern Standard Time' => 'AEST', + 'Australian Central Standard Time' => 'ACST', + 'Indian Standard Time' => 'IST', + 'Japan Standard Time' => 'JST', + 'China Standard Time' => 'CST', + 'Korea Standard Time' => 'KST', + 'Singapore Standard Time' => 'SGT', + 'Arabian Standard Time' => 'AST', + 'Brasília Time' => 'BRT', + 'Central Africa Time' => 'CAT', + 'West Africa Time' => 'WAT', + 'Eastern Africa Time' => 'EAT', + 'Argentina Time' => 'ART', + 'Venezuelan Standard Time' => 'VET', + 'New Zealand Standard Time' => 'NZST', + 'Western European Time' => 'WET', + 'Eastern Standard Time (Australia)' => 'EST', + 'Central Standard Time (Australia)' => 'CST', + 'Western Standard Time (Australia)' => 'WST', + 'Arabian Standard Time' => 'AST', + 'Israel Standard Time' => 'IST', + 'Iran Standard Time' => 'IRST', + 'Moscow Standard Time' => 'MSK', + 'Bangladesh Standard Time' => 'BST', + 'Myanmar Standard Time' => 'MMT', + 'Afghanistan Time' => 'AFT', + 'Nepal Time' => 'NPT', + 'Central Indonesia Time' => 'WITA', + 'Eastern Indonesia Time' => 'WIT', + 'Western Indonesia Time' => 'WIB', + 'Central Asia Time' => 'ALMT', + 'East Africa Time' => 'EAT', + 'West Africa Time' => 'WAT', + 'South Africa Standard Time' => 'SAST', + 'Pakistan Standard Time' => 'PKT', + 'Malaysia Time' => 'MYT', + 'Philippine Time' => 'PHT', + 'Hong Kong Time' => 'HKT', + 'Fiji Time' => 'FJT', + 'Tahiti Time' => 'TAHT', + 'Hawaii-Aleutian Standard Time' => 'HAST', + 'Samoa Standard Time' => 'SST', + 'Chamorro Standard Time' => 'CHST', + 'New Caledonia Time' => 'NCT', + 'Magadan Time' => 'MAGT', + 'Sakhalin Time' => 'SAKT', + 'Anadyr Time' => 'ANAT' ); # Make a date from a special timestamp my $adjust_time_with_timezone = sub {