PHP рдореЗрдВ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ

рдЬреИрд╕реЗ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рднреВрдЧреЛрд▓ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ , рддреЛ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрд╛рдо рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ (рджреЛрдиреЛрдВ рдЖрдВрдХрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ) рдПрдХ рдЧрдВрднреАрд░ рдХрджрдо рдерд╛ред



рдЖрдЧреЗ рдХрд╛ рдЕрдиреБрд╡рд╛рдж :-)

рдкреЛрд╕реНрдЯ рдХрд░рдиреЗрд╡рд╛рд▓реЗ: Derick Rethans

рдпреВрдЖрд░рдПрд▓: www.derickrethans.nl/talks.php



рд╕рд╛рдордЧреНрд░реА





рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдореБрджреНрджреЗ

рд╕рдордп рдЕрдиреБрд╡рд╛рдж рдореБрджреНрджреЗ

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рдФрд░ "рддреАрд░ рдХрд╛ рдЕрдиреБрд╡рд╛рдж"

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдирд╛рдо рдкрд░ рд╕рдорд╕реНрдпрд╛

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╝реЛрди рдХреЗ рдирд╛рдо рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред



рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛

рд╕рдордп рдФрд░ рддрд┐рдерд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП php 4 рдФрд░ php 5 рдореЗрдВ рдХрд╛рд░реНрдп

рджрд┐рдирд╛рдВрдХ рдкреНрд░рддрд┐рдмрдВрдз

Php 5.1 рдФрд░ рдмрд╛рдж рдореЗрдВ рддрд╛рд░реАрдЦ рдореЗрдВ рд╕реБрдзрд╛рд░

Php 5.1 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк

рдЕрдореЗрд░рд┐рдХреА рдкреНрд░рд╛рд░реВрдк: 9/11; 4: 08 рдмрдЬреЗ; 12/22/78; рд╕реБрдмрд╣ 8:51 рдмрдЬреЗ

рд╕рдВрдпреБрдХреНрдд рдкреНрд░рд╛рд░реВрдк: рд╕рдд, 24 рдЕрдкреНрд░реИрд▓ 2004 21:48:40 +0200; 2001-11-29T13: 20: 01.123-05: 00

рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╕реНрд╡рд░реВрдк: рдХрд▓; рдЪрд╛рд░ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ; рдЕрдВрддрд┐рдо рд╢рдирд┐рд╡рд╛рд░; +20 рджрд┐рди 2 рдШрдВрдЯреЗ

рдкрд╛рда рдкреНрд░рд╛рд░реВрдк: 22 рджрд┐рд╕рдВрдмрд░ 1978; 22 рджрд┐рд╕рдВрдмрд░ 1978

рд╕рднреА рдЖрдИрдПрд╕рдУ 8601 рдкреНрд░рд╛рд░реВрдк: 1978/12/22; 13: 03: 12.45678; 13: 03: 12.45678 +0100; 15: 57-8; 1978/12/22; 15:57:41 рдкреАрдбреАрдЯреА; 13: 03: 12.45678 рд╕реЗрд╕реНрдЯ; 231431 CEST; 04/25/70; 13:03 CEST; 04:05 -0930; 23: 41 рдПрдл

рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╛рд░реВрдк: 1999-рдЬрдирд╡рд░реА -08; 1999.238

Php 5.1 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдореЗрдВ рдЯрд╛рдЗрдордЬрд╝реЛрди рд╕рдорд░реНрдерди

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред рдХреИрд╕реЗ рдХрд░реЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓?

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓реЗрдВ

рдкрд╛рд░реНрд╕рд┐рдВрдЧ рджрд┐рдирд╛рдВрдХ (рдЕрддреАрдд)

рд╕реНрдЯреНрд░реЗрдЯреЛрдЯрд╛рдЗрдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛

$ ts = strtotime ("2005-07-11 22:16:50 CEST");


рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

$ рддрд╛рд░реАрдЦ = рд╕реНрдЯреНрд░реЗрдЯреЛрдЯрд╛рдЗрдо ("2005-07-11 22:16:50 рд╕реЗрд╕реНрдЯ");

$ ts = strtotime ("рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣", $ рддрд╛рд░реАрдЦ);


рд╡рд╛рдкрд╕реА рдорд╛рди рдПрдХ 32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИред

рдкрд╛рд░реНрд╕рд┐рдВрдЧ рджрд┐рдирд╛рдВрдХ (рднрд╡рд┐рд╖реНрдп)

Date_create рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдпреБрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛

"$ Ts = date_create (" 1978-12-22 09:15:50 ") ;;

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк DateTime рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ

$ ts = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ("1978-12-22 09:15:50");


рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдЕрдм 32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ DateTime рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдЬреЛ 64-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдкрд░ рдПрдХ рдЖрд╡рд░рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

$ ts = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ("1978-12-22 09:15:50");

рдЧреВрдВрдЬ $ ts-> рдкреНрд░рд╛рд░реВрдк ('рдпреВ');

Date_parse рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛

$ рддрд╛рд░реАрдЦ = "22apr2006 8: 36: 14.43 # ^ рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ рд╕реЗрд╕реНрдЯ";

$ t = date_parse ($ рддрд╛рд░реАрдЦ);

рдЗрдХреЛ $ t ['рд╡рд░реНрд╖']ред ''ред '' $ t ['рдорд╣реАрдирд╛']ред ''-' $ t ['рджрд┐рдирд╛рдВрдХ']ред '' ';

рдЗрдХреЛ $ t ['рдШрдВрдЯрд╛']ред ':'ред $ t ['рдорд┐рдирдЯ']ред ':' '$ t [' рджреВрд╕рд░рд╛ ']ред' ' ';

рдЗрдХреЛ $ t ['tz_id']; "\ n";



рджрд┐рдирд╛рдВрдХ рдкреНрд░рд╛рд░реВрдк

date_default_timezone_set ("рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ");

$ ts = date_create ("1979-12-31 09:15");

echo date_format ($ ts, "D Ymd H: i: s - \ I \ S \ O \ W / \ Y: W / o");



рджрд┐рдирд╛рдВрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА рдкреНрд░рд╛рд░реВрдк рд╕рдВрд╢реЛрдзрдХ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рд╛рд░реВрдк:

date_default_timezone_set ("рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ");

$ ts = date_create ("рджрд┐рд╕рдВрдмрд░ 22, 2005 15:41");

echo date_format ($ ts, DATE_ISO8601);

рдЗрдХреЛ рдбреЗрдЯ_рдлреЙрд░реНрдореИрдЯ ($ ts, рдбреЗрдЯрдЯрд╛рдЗрдо :: RFC1036);

echo date_format ($ ts, DATE_RSS);



Php6 рдореЗрдВ рд╕реНрдерд╛рди

date_default_timezone_set ("рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ");

$ ts = date_create ("рджрд┐рд╕рдВрдмрд░ 22, 2005 15:41");

$ рд╕реНрдерд╛рди = рд╕рд░рдгреА ('en_US', 'fr_CA', 'nb_NO', 'ru_RU', 'ar_SA', 'ja_JP');

foreach ($ рд╕реНрдерд╛рди рдХреЗ рд░реВрдк рдореЗрдВ $ рд╕реНрдерд╛рди)

{

locale_set_default ($ locale);

echo date_format_locale ($ ts, DATE_RFC2822)ред "\ n";

}



рджрд┐рдирд╛рдВрдХ рдФрд░ рд╕рдордп рдЕрджреНрдпрддрди

$ рддрд╛рд░реАрдЦ = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ('рдЕрдм');

рдЗрдХреЛ $ рддрд┐рдерд┐-> рдкреНрд░рд╛рд░реВрдк (рджрд┐рдирд╛рдВрдХ рд╕рдордп :: ISO8601)ред "\ n";

$ рддрд╛рд░реАрдЦ-> рд╕реЗрдЯрдЯрд╛рдЗрдо (15,0,7);

рдЗрдХреЛ $ рддрд┐рдерд┐-> рдкреНрд░рд╛рд░реВрдк (рджрд┐рдирд╛рдВрдХ рд╕рдордп :: ISO8601)ред "\ n";

$ рддрд╛рд░реАрдЦ-> рд╕реЗрдЯрдбреЗрдЯ (2006,12,22);

рдЗрдХреЛ $ рддрд┐рдерд┐-> рдкреНрд░рд╛рд░реВрдк (рджрд┐рдирд╛рдВрдХ рд╕рдордп :: ISO8601)ред "\ n";

$ рджрд┐рдирд╛рдВрдХ-> рд╕реЗрдЯрдЖрдИрдбреЛрд╕рдбреЗрдЯ (2006,45,2);

рдЗрдХреЛ $ рддрд┐рдерд┐-> рдкреНрд░рд╛рд░реВрдк (рджрд┐рдирд╛рдВрдХ рд╕рдордп :: ISO8601)ред "\ n";



рддрд┐рдерд┐ рдФрд░ рд╕рдордп рдмрджрд▓реЗрдВ

date_default_timezone_set ("рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ");

$ рддрд╛рд░реАрдЦ = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ('рдЕрдм');

рдЗрдХреЛ $ ts-> рдкреНрд░рд╛рд░реВрдк (DATE_RFC2822)ред "\ n";

$ ts-> рд╕рдВрд╢реЛрдзрд┐рдд ("+ 2 рджрд┐рди");

рдЗрдХреЛ $ ts-> рдкреНрд░рд╛рд░реВрдк (DATE_RFC2822)ред "\ n";

$ ts-> рд╕рдВрд╢реЛрдзрд┐рдд ("рдкрд╛рдВрдЪрд╡рд╛рдВ рдорд╣реАрдирд╛");

рдЗрдХреЛ $ ts-> рдкреНрд░рд╛рд░реВрдк (DATE_RFC2822)ред "\ n";

$ ts-> рд╕рдВрд╢реЛрдзрд┐рдд ("рд╢реБрдХреНрд░рд╡рд╛рд░ +3 рд╕рдкреНрддрд╛рд╣");

рдЗрдХреЛ $ ts-> рдкреНрд░рд╛рд░реВрдк (DATE_RFC2822)ред "\ n";

$ ts-> рд╕рдВрд╢реЛрдзрд┐рдд ("рдЕрдЧрд▓рд╛ рд╢реБрдХреНрд░рд╡рд╛рд░");

рдЗрдХреЛ $ ts-> рдкреНрд░рд╛рд░реВрдк (DATE_RFC2822)ред "\ n";



рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рджрд┐рдирд╛рдВрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╕реЗрдЯ рдХрд░рдирд╛

$ ts = date_create ("1978-12-22 09:15 CEST");



рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрд┐рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрджрд╛рд╡рдирдд рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдпрд╛ рдкреВрд░реНрдг рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ

$ ts = date_create ("1978-12-22 09:15 рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ")


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рд╕реЗрдЯ рдХрд░рдирд╛

date_default_timezone_set ("рдпреВрд░реЛрдк / рдУрд╕реНрд▓реЛ");

$ ts = date_create ("1978-12-22 09:15");

рдЧреВрдВрдЬ $ ts-> рдкреНрд░рд╛рд░реВрдк ('рдИ');



рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдЗрдХреЛ рдбреЗрдЯ_рдбреЗрдлреЙрд▓реНрдЯ_рдЯрд╛рдЗрдордЬрд╝реЛрди_рдЧреЗрдЯ ();


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧред рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░

рдЯрд╛рдЗрдо рдЬрд╝реЛрди рдмрдирд╛рдПрдВ

$ tz = timezone_open ('рдПрд╢рд┐рдпрд╛ / рд╕рд┐рдВрдЧрд╛рдкреБрд░');


рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

$ tz = timezone_open ('рдкреНрд░рд╢рд╛рдВрдд / рд╣реЛрдиреЛрд▓реВрд▓реВ');

$ ts = date_create ("1978-12-22 09:15 ', $ tz);



рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╛рд░ рдХрд┐рдП рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

$ tz = рдирдпрд╛ DateTimeZone ('рдкреНрд░рд╢рд╛рдВрдд / рд╣реЛрдиреЛрд▓реВрд▓реВ');

$ ts1 = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ('1978-12-22 09:15 CEST', $ tz);

$ ts2 = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ('1978-12-22 09:15 рдпреВрд░реЛрдк / рдПрдореНрд╕реНрдЯрд░реНрдбрдо', $ tz);

рдЗрдХреЛ $ t22-> рдкреНрд░рд╛рд░реВрдк (рджрд┐рдирд╛рдВрдХ рд╕рдордп :: RFC2822);



рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдирд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИ

$ tz = timezone_open ('рдПрд╢рд┐рдпрд╛ / рд╕рд┐рдВрдЧрд╛рдкреБрд░');

рдЧреВрдВрдЬ timezone_name_get ($ tz);



$ tz = timezone_open ('CEST');

рдЧреВрдВрдЬ timezone_name_get ($ tz);



рдЧреНрд░реАрдирд╡рд┐рдЪ рд╕реЗ рд╡рд░реНрддрдорд╛рди рдСрдлрд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

$ tz = рдирдпрд╛ DateTimeZone (┬╗рдпреВрд░реЛрдк / рдПрдореНрд╕реНрдЯрд░реНрдбрдо");

$ d = рдирдпрд╛ рджрд┐рдирд╛рдВрдХ рд╕рдордп ("2005-01-22 09:15");

рдЗрдХреЛ $ tz-> getOffset ($ d);

$ d-> рд╕рдВрд╢реЛрдзрд┐рдд ("+ 6 рдорд╣реАрдиреЗ");

рдЗрдХреЛ $ tz-> getOffset ($ d);



рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧред рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди

рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рд╕рдордп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

$ tz1 = timezone_open ('рдкреИрд╕рд┐рд╕рд┐рдХ / рд╣реЛрдиреЛрд▓реБрд▓реБ');

$ tz2 = timezone_open ('рдпреВрд░реЛрдк / рдПрдореНрд╕реНрдЯрд░реНрдбрдо');

$ tz3 = timezone_open ('рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛ / рдореЗрд▓рдмреЛрд░реНрди');



$ ts = date_create ("1978-12-22 09:15", $ tz1);

рдЗрдХреЛ $ ts-> getTimezone () -> getName ()ред ':'ред $ ts-> рдлреЙрд░реНрдореЗрдЯ (DATE_RFC822) "\ n";

$ ts-> setTimezone ($ tz2);

рдЗрдХреЛ $ ts-> getTimezone () -> getName ()ред ':'ред $ ts-> рдлреЙрд░реНрдореЗрдЯ (DATE_RFC822) "\ n";

$ ts-> setTimezone ($ tz3);

рдЗрдХреЛ $ ts-> getTimezone () -> getName ()ред ':'ред $ ts-> рдлреЙрд░реНрдореЗрдЯ (DATE_RFC822) "\ n";



рдЯрд╛рдЗрдо рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдЯреЗрдмрд▓реНрд╕

$ tz = timezone_open ('рдпреВрд░реЛрдк / рдПрдореНрд╕реНрдЯрд░реНрдбрдо');

$ trs = timezone_transitions_get ($ tz); // рдпрд╛ $ trs = $ tz-> getTransitions ();

foreach ($ ts $ ts рдХреЗ рд░реВрдк рдореЗрдВ)

рдкреНрд░рд┐рдВрдЯрдл ("% 20s% 7d% d% s \ n", $ tr ['рд╕рдордп'], $ tr ['рдСрдлрд╕реЗрдЯ'], $ tr ['isdst'], $ tr ['abbr'];



рд╕рдВрдХреЗрддрд╛рдХреНрд╖рд░ рдФрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛

рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

$ id = timezone_identifiers_list ();

рдЗрдХреЛ "рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛:" .count ($ ids)ред "\ n";

рдЗрдХреЛ рдЗрдВрдХреЛрдб (",", array_slice ($ id, 0, 5))ред'.. ''ред implode (",", array_slice ($ ids, -5));



рд╕рднреА рд╕рдорд░реНрдерд┐рдд рд╕рдВрдХреНрд╖рд┐рдкреНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

$ abbrs = timezone_ablookations_list ();

foreach ($ abbrs $ abbr => $ ids рдХреЗ рд░реВрдк рдореЗрдВ)

foreach ($ id рдХреЗ рд░реВрдк рдореЗрдВ $ id)

рдкреНрд░рд┐рдВрдЯрдл ("% - 6s% 6d% d% s \ n", рд╕реНрдЯреНрд░рдЯреЙрдкрд░ ($ abbr), $ id ['рдСрдлрд╕реЗрдЯ'], $ id ['dst'], $ id ['timezone_id']];



рдЕрдиреБрд╡рд╛рдж рдХрд╛ рддреАрд░ред рдЕрдЧрд▓рд╛ рдХрдм рд╣реЛрдЧрд╛?

date_default_timezone_set ("рдЕрдореЗрд░рд┐рдХрд╛ / New_york");

$ tz = рдирдпрд╛ DateTimeZone ("рдЕрдореЗрд░рд┐рдХрд╛ / New_york");

foreach (timezone_transitions_get ($ tz) $ tr рдХреЗ рд░реВрдк рдореЗрдВ)

if ($ tr ['ts']> рд╕рдордп ()) рд╡рд┐рд░рд╛рдо;

$ d = рдирдпрд╛ DateTime ("@ {$ tr ['ts']}");

printf ("рд╕рдордпрдХреНрд╖реЗрддреНрд░% s% s рдкрд░% s рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИред \ n рдирдпрд╛ GMT рдСрдлрд╝рд╕реЗрдЯ рд╣реЛрдЧрд╛:% d (% s) \ n", $ tz-> getName (), $ tr ['isdst']? " DST ":" рдорд╛рдирдХ рд╕рдордп ", $ d-> рдкреНрд░рд╛рд░реВрдк ('d MY @ H: i T'), $ tr ['рдСрдлрд╕реЗрдЯ'], $ tr ['abbr']);



рдЬрдм рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ

Php 5.1 рдореЗрдВ, рдЖрдкрдХреЛ рдзреНрд╡рдЬ CFLAGS = -DEXPERIMENTAL_DATE_SUPPORT = 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛

Php 5.2 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ



рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдпрд╣рд╛рдБ рдкреНрд░рдХрд╛рд╢рд┐рдд



All Articles