in reply to Writing localized Perl apps
However that's not what you asked about.
The other thing that DateTime handles is locales. For this, it has used the Common XML Locale Repository project. So, once you have your DateTime object, all you need to do is set the locale and output it with strftime. All the strftime functions are localised, so getting the month name will always return the name in the current locale. The %c token is the default date-and-time format for the locale:
use DateTime; $dt = DateTime->now(); print $dt->set( locale => 'en' )->strftime('%c') . "\n"; # May 2, 2004 9:45:18 PM print $dt->set( locale => 'en_AU' )->strftime('%c') . "\n"; # 02/05/2004 9:45:18 PM print $dt->set( locale => 'es' )->strftime('%c') . "\n"; # 02-may-04 21:45:18 print $dt->set( locale => 'fr' )->strftime('%c') . "\n"; # 2 mai 04 21:45:18 print $dt->set( locale => 'it' )->strftime('%c') . "\n"; # 02/mag/04 21:45:18 print $dt->set( locale => 'no' )->strftime('%c') . "\n"; # 02.mai.04 21:45:18
|
---|