Short answer: As of DateTime v0.72 on my local machine, %c is not
directly configurable.
A little more info:
%c is hardcoded to use the locale's `datetime_format_default` (search
for strftime_patterns in DateTime.pm)
DateTime::Locale::ko does not override 'datetime_format_default'. Nor
does it override 'default_date_format_length', or
'default_time_format_length', both of which default to 'medium' (see
DateTime::Locale::root.)
DT:Loc:ko's medium date/time formats are \.\ M\.\ d\. and a\
h\:mm\:ss, which is why you get the output below.
So without modifying/overriding DateTime::Locale::ko, or dropping your
use of %c in favor of a custom formatter, it may be difficult to fix
your problem.
If the locale's definitions for the 'medium' formats are
wrong/outdated (see http://cldr.unicode.org/index/downloads) you could
propose an update to the locale class itself, but I am unsure of the
official way to do this.
-Nate
On Wed, Oct 24, 2012 at 2:36 AM, Bill Moseley mose...@hank.org wrote:
We have been using formats %c, %x and %X for localizing dates based on
Locale. Mostly works ok, but for Korean we are getting this:
2012. 10. 18. 오후 4:09:05
where (I've been told) we would like this format:
2012년 10월 22일 월요일 오후 01:44 PDT
Is this formatting done in DateTime? I'm wondering how we can set the
default format used by %c for a given locale.
In a web app what we are currently doing is
setting DateTime-DefaultLocale() per request. The DateTime objects are
inflated from database rows with DBIC.
--
Bill Moseley
mose...@hank.org