Skip to content

Commit ef0abfb

Browse files
committed
Fix statement in strftime docs that is no longer true and clarify return values
Closes #148.
1 parent 96fbc2c commit ef0abfb

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

lib/DateTime.pm

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3156,8 +3156,15 @@ patterns.
31563156
31573157
If you give a pattern that doesn't exist, then it is simply treated as text.
31583158
3159-
Note that any deviation from the POSIX standard is probably a bug. DateTime
3160-
should match the output of C<POSIX::strftime> for any given pattern.
3159+
While DateTime uses the same I<patterns> as the POSIX standard, the data used
3160+
to fill in those patterns comes from the Unicode CLDR project. That means that
3161+
the output from this method may not match the return value of
3162+
C<POSIX::strftime> for all patterns. In particular, this means that the return
3163+
value may include UTF-8 for any locale.
3164+
3165+
Also note that DateTime does not look at env vars like C<LANG> or C<LC_*> in
3166+
order to determine what locale or character set to use. The locale is set when
3167+
constructing the DateTime object and the character set is always UTF-8.
31613168
31623169
=head3 $dt->format_cldr( $format, ... )
31633170
@@ -3169,6 +3176,9 @@ See the L<CLDR Patterns> section for a list of all possible CLDR patterns.
31693176
31703177
If you give a pattern that doesn't exist, then it is simply treated as text.
31713178
3179+
As with the C<strftime> method, the return value of this method is always
3180+
UTF-8.
3181+
31723182
=head3 $dt->epoch
31733183
31743184
Returns the UTC epoch value for the datetime object. Datetimes before the start

0 commit comments

Comments
 (0)