DateTime-Lite
view release on metacpan or search on metacpan
lib/DateTime/Lite/TimeZone/JA.pod view on Meta::CPAN
=item C<+09:00>ãC<-0500>ã®ãããªåºå®ãªãã»ããæååã
=item ç¹å¥ãªååC<UTC>ãC<floating>ãC<local>ã
C<local>ã¨ããååã¯ãå¤é¨ã¢ã¸ã¥ã¼ã«ãå¿
è¦ã¨ããã«ãã·ã¹ãã ã®ãã¼ã«ã«ã¿ã¤ã ã¾ã¼ã³ãèªåå¤å®ããããC<DateTime::Lite::TimeZone>ã«æç¤ºãã¾ããå¤å®æ¦ç¥ã¯OSåºæã§ãL<$^O|perlvar/"$^O">ã«ä¾å...
=over 8
=item B<LinuxãmacOS (darwin)ãFreeBSDãOpenBSDãNetBSDãSolarisãAIXãHP-UXãOS/2ãCygwin>
次ã®é ã«è©¦ãã¾ãã
=over 12
=item * C<$ENV{TZ}>
=item * C</etc/localtime>ã®symlinkå
ãã¾ãã¯C</usr/share/zoneinfo>ã«å¯¾ãããã¤ããªä¸è´
=item * C</etc/timezone>ï¼Debian/Ubuntuï¼
=item * C<TZ=>è¡ãå«ãC</etc/TIMEZONE>ï¼Solaris, HP-UXï¼
=item * C<ZONE=>ã¾ãã¯C<TIMEZONE=>è¡ãå«ãC</etc/sysconfig/clock>ï¼RedHat/CentOSï¼
=item * C<TZ=>è¡ãå«ãC</etc/default/init>ï¼å¤ãUnixï¼
=back
=item B<Windows (MSWin32ãNetWare)>
ã¾ãC<$ENV{TZ}>ã試ãããã®å¾Windows Registryï¼C<SYSTEM/CurrentControlSet/Control/TimeZoneInformation>ï¼ããã¿ã¤ã ã¾ã¼ã³åãèªã¿åããCLDRã®C<windowsZones.xml>ãã¼ãã«ã使ã£ã¦IANAåã¸ãããã³ã°ãã¾ãã
C<Win32::TieRegistry>ãå¿
è¦ã§ãï¼CPANã§å©ç¨å¯è½ã§ãããå¿
é ä¾åã§ã¯ããã¾ããï¼ã
=item B<Android>
C<$ENV{TZ}>ãæ¬¡ã«C<getprop persist.sys.timezone>ã試ãããã®å¾C<UTC>ã¸ãã©ã¼ã«ããã¯ãã¾ãã
=item B<VMS>
ç°å¢å¤æ°C<TZ>ãC<SYS$TIMEZONE_RULE>ãC<SYS$TIMEZONE_NAME>ãC<UCX$TZ>ãC<TCPIP$TZ>ã確èªãã¾ãã
=item B<SymbianãEPOCãMS-DOSãMac OS 9以å>
C<$ENV{TZ}>ã®ã¿ã確èªãã¾ãã
=back
ãã¼ã«ã«ã¿ã¤ã ã¾ã¼ã³ãå¤å®ã§ããªãå ´åã¯ãã¨ã©ã¼ãè¨å®ãããã¹ã«ã©ã³ã³ããã¹ãã§ã¯C<undef>ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿ããã¾ãããã§ã¼ã³å¼ã³åºãï¼ãªãã¸ã§ã¯ãã³ã...
=item C<latitude>ããã³C<longitude>弿°ã«ãã座æ¨ã
C<name>ã®ä»£ããã«10é²åº¦ã®åº§æ¨ã渡ããã¨ã§ãC<DateTime::Lite::TimeZone>ã«æãè¿ãIANAã¿ã¤ã ã¾ã¼ã³ãèªå解決ããããã¨ãã§ãã¾ãã
my $tz = DateTime::Lite::TimeZone->new(
latitude => 35.658558,
longitude => 139.745504,
);
say $tz->name; # Asia/Tokyo
解決ã«ã¯IANAC<zone1970.tab>ãã¡ã¤ã«ã«ä¿åãããåç
§åº§æ¨ï¼æ£è¦ã¾ã¼ã³ãã¨ã«1ã¤ã®ä»£è¡¨ç¹ï¼ã使ç¨ããL<haversine great-circle distance|https://en.wikipedia.org/wiki/Haversine_formula>ã«ããæãè¿ãã¾ã¼ã³ãæ...
C<latitude>ã¯C<-90>ããC<90>ãC<longitude>ã¯C<-180>ããC<180>ã®ç¯å²ã§ãªããã°ãªãã¾ãããå¤ãç¯å²å¤ã§ããå ´åãã¾ãã¯ãã¼ã¿ãã¼ã¹å
ã«åº§æ¨ä»ãã¾ã¼ã³ãè¦ã¤ãããªãå ´åãL<ã¨ã©ã¼ãªãã¸ã§...
haversineå
¬å¼ã¯ããã¼ã¿ãã¼ã¹ãC<-DSQLITE_ENABLE_MATH_FUNCTIONS>ä»ãã§ã³ã³ãã¤ã«ããã¦ããå ´åãSQLiteå
ã§è¨ç®ããã¾ãï¼SQLite version E<gt>= 3.35.0ãL<2021å¹´3æãªãªã¼ã¹|https://sqlite.org/changes.html>ï¼ã...
å¤ãã·ã¹ãã ãã¾ãã¯æ°å¦é¢æ°ãåå¨ããªããã«ãã§ã¯ãå¿
è¦ãªé¢æ°ï¼C<sqrt>ãC<sin>ãC<cos>ãC<asin>ï¼ããååä½¿ç¨æã«L<DBD::SQLite/sqlite_create_function>çµç±ã§Perl UDFï¼User Defined Functionsï¼ã¨ãã¦è...
æ¤åºã¯ãã¼ã¸ã§ã³ãèæ
®ãã¦è¡ããã¾ããã¤ã¾ãï¼
=over 8
=item * SQLite version E<gt>= 3.35.0ã§ã¯ãUDFãç»é²ããåã«ç¹æ®ãªsystem table C<pragma_function_list>ã§C<sqrt>ãåãåããããã¤ãã£ã颿°ãåªå
çã«ä½¿ç¨ãããã¨ã確èªãã¾ãã
=item * SQLite version E<lt>3.35.0ã§ã¯ãæ°å¦é¢æ°ãã¾ã åå¨ããªããããC<pragma_function_list>ãåãåãããã«UDFãç´æ¥ç»é²ãã¾ãã
=item * SQLite version E<lt>3.16.0ã§ã¯ãC<pragma_function_list>ã¯table-valued functionã¨ãã¦å©ç¨ã§ããªããããUDFãç´æ¥ç»é²ãã¾ãã
=back
UDFã¯SQLite version E<gt>= 3.0.0ã®ãã¹ã¦ã§å©ç¨ã§ãã¾ãã
å¤ãã·ã¹ãã ã§SQLite 3.31.1ã忢±ããã¦ããå ´åããå¿
è¦ãªé¢æ°ï¼C<sqrt>ãC<sin>ãC<cos>ãC<asin>ï¼ã¯ååä½¿ç¨æã«L<DBD::SQLite/sqlite_create_function>çµç±ã§Perl UDFï¼User Defined Functionsï¼ã¨ãã¦èªåç»é²...
=back
çã®å¤ãæã¤booleanãªãã·ã§ã³C<use_cache_mem>ã¯ããã®å¼ã³åºãã«å¯¾ãã¦ããã»ã¹ã¬ãã«ã®ã¡ã¢ãªãã£ãã·ã¥ãæå¹åãã¾ããè¨å®ãããã¨ãåãã¾ã¼ã³åï¼ã¾ãã¯ãã®ã¨ã¤ãªã¢ã¹ï¼ã§ã®ä»¥å¾...
# ãããã¯æåã®æ§ç¯å¾ããã£ãã·ã¥ã«ããããã¾ã:
my $tz = DateTime::Lite::TimeZone->new(
name => 'America/New_York',
use_cache_mem => 1,
);
çã®å¤ãæã¤booleanãªãã·ã§ã³C<extended>ã¯ãååãæå¹ãªIANAã¿ã¤ã ã¾ã¼ã³åã¨ãã¦èªèãããªãå ´åã«ãç¥ç§°è§£æ±ºããã©ã¼ã«ããã¯ã¨ãã¦æå¹åãã¾ããããã¯ãå¼ã³åºãå
ãå¤é¨ã½ã¼ã¹...
C<extended>ãè¨å®ãããååãIANAã¿ã¤ã ã¾ã¼ã³ã¨ãã¦æªç¥ã®å ´åãC<new>ã¯å
é¨çã«C<extended>ãªãã·ã§ã³ãçã«ãã¦C<resolve_abbreviation>ãå¼ã³åºãã¾ããããã¦åä¸ã®ææ§ã§ãªãåè£ãè¦ã¤ãã£...
my $tz = DateTime::Lite::TimeZone->new( name => 'JST', extended => 1 );
say $tz->name; # Asia/Tokyo
æåæã«ã¯æ°ãããªãã¸ã§ã¯ããè¿ãã¾ããã¨ã©ã¼æã«ã¯C<error()>ã«ããL<ä¾å¤ãªãã¸ã§ã¯ã|DateTime::Lite::Exception>ãè¨å®ããã¹ã«ã©ã³ã³ããã¹ãã§ã¯C<undef>ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã...
=head1 ã¡ã¢ãªãã£ãã·ã¥
ããã©ã«ãã§ã¯ãL</new>ãå¼ã³åºããã³ã«SQLiteã¯ã¨ãªã使ã£ã¦æ°ãããªãã¸ã§ã¯ããæ§ç¯ãã¾ããåãã¾ã¼ã³åã§C<DateTime::Lite::TimeZone>ãªãã¸ã§ã¯ããç¹°ãè¿ãæ§ç¯ããã¢ããªã±ã¼ã·ã§ã³å...
B<Layer 1 - ãªãã¸ã§ã¯ããã£ãã·ã¥>ï¼æå¹åããã¦ããå ´åãåãã¾ã¼ã³åã«å¯¾ãã2åç®ä»¥éã®å¼ã³åºãã¯ããã¼ã¿ãã¼ã¹ãå®å
¨ã«è¿åããå
ã®ãªãã¸ã§ã¯ããããã·ã¥ããç´æ¥è¿ãã¾ã...
B<Layer 2 - spanãã£ãã·ã¥>ï¼ãã£ãã·ã¥æ¸ã¿ã®åTimeZoneãªãã¸ã§ã¯ãã¯ãç´è¿ã«ä¸è´ããUTCããã³ãã¼ã«ã«æå»spanãä¿åãã¾ããC<offset_for_datetime>ããã³C<offset_for_local_datetime>ã®å¼ã³åºãã§ã¯...
B<Layer 3 - POSIX footerãã£ãã·ã¥>ï¼ç¾å¨ã®æ¥ä»ãç¹°ãè¿ãDSTè¦åï¼POSIX TZ footeræååï¼ã«ãã£ã¦ç®¡çãããã¾ã¼ã³ã§ã¯ãfooterè¨ç®ã®çµæãæ¦æ¥åä½ã§ãã£ãã·ã¥ããã¾ããDSTé·ç§»ã¯å¹´ã«2åç...
ããã3層ã«ãããC<< DateTime::Lite->new( time_zone => 'America/New_York' ) >>ã®å¼ã³åºããã¨ã®ã³ã¹ãã¯ç´430 µsããç´25 µsã¾ã§ä½ä¸ããC<DateTime>ã¨åçã«ãªãã¾ãã
ãã£ãã·ã¥ã¨ã³ããªã¯ãL</new>ã«æ¸¡ãããååã¨ãã¨ã¤ãªã¢ã¹è§£æ±ºå¾ã®æ£è¦åããã¼ã«ãã¾ãããã®ãããC<US/Eastern>ã¨C<America/New_York>ã¯åããã£ãã·ã¥æ¸ã¿ãªãã¸ã§ã¯ãã¸å¯¾å¿ãã¾ãã
é常ã®ä½¿ç¨ã§ã¯ããã£ãã·ã¥æ¸ã¿ãªãã¸ã§ã¯ãã¯ä¸å¤ã§ãããã¹ã¦ã®public accessorã¯èªã¿åãå°ç¨ãªã®ã§ãè¤æ°ã®å¼ã³åºãå
ã§ãªãã¸ã§ã¯ããå
±æãã¦ãå®å
¨ã§ãã
=head2 enable_mem_cache
( run in 0.748 second using v1.01-cache-2.11-cpan-df04353d9ac )