DateTime-Lite
view release on metacpan or search on metacpan
README-ja-JP.md view on Meta::CPAN
my $dt = DateTime::Lite->now( locale => 'en' ); # åç´ãªå½¢å¼
my $dt = DateTime::Lite->now( locale => 'en-GB' ); # åç´ãªå½¢å¼
# ããè¤éãªå½¢å¼ã«ã対å¿
my $dt = DateTime::Lite->now( locale => 'he-IL-u-ca-hebrew-tz-jeruslm' );
my $dt = DateTime::Lite->now( locale => 'ja-Kana-t-it' );
my $dt = DateTime::Lite->now( locale => 'ar-SA-u-nu-latn' );
ãã±ã¼ã«ãã¼ã¿ã¯ã[DateTime::Locale::FromCLDR](https://metacpan.org/pod/DateTime%3A%3ALocale%3A%3AFromCLDR)ã[Locale::Unicode::Data](https://metacpan.org/pod/Locale%3A%3AUnicode%3A%3AData)ãéãã¦åçã«è§£æ±ºãã¾ãããã®ã...
ããã«ããã±ã¼ã«ã¿ã°ã«[Unicode timezone extension](https://metacpan.org/pod/Locale%3A%3AUnicode#Unicode-extensions)ï¼`-u-tz-`ï¼ãå«ã¾ãã¦ããããã¤ã³ã³ã¹ãã©ã¯ã¿ã«æç¤ºçãª`time_zone`弿°ã渡ããã¦ããªã...
# -u-tz-jeruslm æ¡å¼µãããtime_zone ã¯C<Asia/Jerusalem> ã¨æ¨å®ããã
my $dt = DateTime::Lite->now( locale => 'he-IL-u-ca-hebrew-tz-jeruslm' );
say $dt->time_zone; # Asia/Jerusalem
say $dt->time_zone_long_name; # Asia/Jerusalem
æç¤ºçãª`time_zone`弿°ã¯ã常ã«ãã±ã¼ã«æ¡å¼µããåªå
ããã¾ãã
- é常ã®å¦çã§ã¯die()ããªããã¨
[Module::Generic](https://metacpan.org/pod/Module%3A%3AGeneric) / [Locale::Unicode](https://metacpan.org/pod/Locale%3A%3AUnicode)ã®ã¨ã©ã¼å¦çæ¹éã«å¾ãã`DateTime::Lite`ã¯é常ã®ã¨ã©ã¼ãã¹ã§`die()`ãå¼ã³åºãã¾ããã
代ããã«[DateTime::Lite::Exception](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3AException)ãªãã¸ã§ã¯ããè¨å®ããã¹ã«ã©ã³ã³ããã¹ãã§ã¯`undef`ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿ãã¾ãã
ãã ããã¨ã©ã¼æã«ãã®ã¢ã¸ã¥ã¼ã«ãæ¬å½ã«`die`ããããå ´åã¯ããªãã¸ã§ã¯ãçææã«çã®å¤ãæã¤`fatal`ãªãã·ã§ã³ã渡ããã¨ãã§ãã¾ãã
# DateTimeã¨ã®æ¢ç¥ã®ç¸éç¹
- ããªãã¼ã·ã§ã³
`DateTime`ã¯ã³ã³ã¹ãã©ã¯ã¿ã®ããªãã¼ã·ã§ã³ã«[Specio](https://metacpan.org/pod/Specio) / [Params::ValidationCompiler](https://metacpan.org/pod/Params%3A%3AValidationCompiler)ã使ç¨ãã¾ãã`DateTime::Lite`ã¯åçã®ãã§ã...
- warnings::register ã®æ¿«ç¨ãªã
`DateTime::Lite`ã¯`warnings::enabled`ãä¸è²«ãã¦ä½¿ç¨ããã¦ã¼ã¶ã¼åãã®åºåã«`warnings::register`ã®ä»çµã¿ã¸ä¾åãã¾ããã
# æªå®è£
ã®ã¡ã½ãã
ç¾æç¹ã§ã¯ããã¾ããã[DateTime](https://metacpan.org/pod/DateTime)APIã«åå¨ããã¡ã½ããã§ããã®ã¢ã¸ã¥ã¼ã«ã«ä¸è¶³ãã¦ãããã®ãè¦ã¤ããå ´åã¯ãå ±åãã¦ãã ããã
# CONSTRUCTORS
## new
åãä»ãããã©ã¡ã¼ã¿ã¯æ¬¡ã®ã¨ããã§ãã
- `year`ï¼å¿
é ï¼
- `month`
- `day`
- `hour`
- `minute`
- `second`
- `nanosecond`
- `time_zone`
æ¥æã«ä½¿ç¨ããã¿ã¤ã ã¾ã¼ã³ã§ããæ¬¡ã®å½¢å¼ãåãä»ãã¾ãã
- `Asia/Tokyo`ã®ãããªã¾ã¼ã³åæååã`+09:00`ã®ãããªåºå®ãªãã»ããæååã`UTC`ã`floating`ãã¾ãã¯`local`ã
- [DateTime::Lite::TimeZone](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3ATimeZone)ãªãã¸ã§ã¯ãã
- ãã¼ããã®ã¾ã¾["new" in DateTime::Lite::TimeZone](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3ATimeZone#new)ã«æ¸¡ãããããã·ã¥ãªãã¡ã¬ã³ã¹ãããã«ãããæååå½¢å¼ã§ã¯æå®ã§ããªããªãã·ã§ã³ãæ¸...
time_zone => { name => 'JST', extended => 1 }
time_zone => { latitude => 35.658558, longitude => 139.745504 }
çç¥ãããå ´åã§ã`locale`弿°ã«`he-IL-u-ca-hebrew-tz-jeruslm`ã®ãããªBCP47 `-u-tz-`æ¡å¼µãå«ã¾ãã¦ããã¨ãã¯ã対å¿ããIANAã®æ£è¦ã¿ã¤ã ã¾ã¼ã³ãèªåçã«è§£æ±ºããã¾ããã©ã¡ããæå®ããã¦ã...
- `locale`
Unicode CLDRï¼Common Locale Data Repositoryï¼ããã³BCP47ã§å®ç¾©ããããæå¹ãªä»»æã®ãã±ã¼ã«ã§ãã[Locale::Unicode](https://metacpan.org/pod/Locale%3A%3AUnicode)ãåç
§ãã¦ãã ããã
- `formatter`
- `fatal`
æåæã«ã¯æ°ãããªãã¸ã§ã¯ããè¿ãã¾ãã失ææã«ã¯[error](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3AException)ãè¨å®ããã¹ã«ã©ã³ã³ããã¹ãã§ã¯`undef`ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿...
## from\_day\_of\_year
my $dt2 = DateTime::Lite->from_day_of_year(
year => 2026,
day_of_year => 100,
time_zone => 'UTC',
locale => 'fr-FR',
);
å¹´ã¨å¹´å
éç®æ¥ï¼1-366ï¼ãããªãã¸ã§ã¯ããæ§ç¯ãã¾ãã
æåæã«ã¯æ°ãããªãã¸ã§ã¯ããè¿ãã¾ãã失ææã«ã¯[error](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3AException)ãè¨å®ããã¹ã«ã©ã³ã³ããã¹ãã§ã¯`undef`ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿...
## from\_epoch
my $dt = DateTime::Lite->from_epoch(
epoch => 1775769030,
time_zone => 'Asia/Tokyo',
locale => 'ja-JP',
formatter => $formatter,
);
ã¦ããã¯ã¹ã¨ããã¯å¤ï¼æ´æ°ã¾ãã¯æµ®åå°æ°ç¹æ°ï¼ãããªãã¸ã§ã¯ããæ§ç¯ãã¾ããæ´æ°ã§ãªãå¤ã¯ãæãè¿ããã¤ã¯ãç§ã«ä¸¸ãããã¾ãã
`time_zone`ã`locale`ã`formatter`ãã©ã¡ã¼ã¿ãåãä»ãã¾ãã
è¿ããããªãã¸ã§ã¯ãã¯`UTC`ã¿ã¤ã ã¾ã¼ã³ã«ãªãã¾ãã
`time_zone`弿°ãæå®ããå ´åãããã¯ãªãã¸ã§ã¯ãã®çæ_å¾_ã«é©ç¨ããã¾ãããããã£ã¦ã渡ãããã¨ããã¯å¤ã¯å¸¸ã«UTCã¿ã¤ã ã¾ã¼ã³ã®å¤ã¨ãã¦è¨å®ããã¾ãã
ä¾ï¼
my $dt = DateTime::Lite->from_epoch(
epoch => 0,
time_zone => 'Asia/Tokyo'
);
say $dt; # Asia/Tokyoã¯UTCãã+09:00ã®ããã1970-01-01T09:00:00ãåºåãã¾ãã
$dt->set_time_zone('UTC');
say $dt; # 1970-01-01T00:00:00ãåºåãã¾ãã
æåæã«ã¯æ°ãããªãã¸ã§ã¯ããè¿ãã¾ãã失ææã«ã¯[error](https://metacpan.org/pod/DateTime%3A%3ALite%3A%3AException)ãè¨å®ããã¹ã«ã©ã³ã³ããã¹ãã§ã¯`undef`ããªã¹ãã³ã³ããã¹ãã§ã¯ç©ºãªã¹ããè¿...
## from\_object
my $dt1 = DateTime->new;
( run in 2.693 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )