Bug 785984

Summary: Short month names in the zh_CN locale contain space
Product: Red Hat Enterprise Linux 6 Reporter: Jeff Law <law>
Component: glibcAssignee: Jeff Law <law>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: low    
Version: 6.3CC: fweimer, goeran, law, mfranc, pmuller
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 657588 Environment:
Last Closed: 2012-06-20 12:09:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 657588    
Bug Blocks:    

Description Jeff Law 2012-01-31 04:31:55 UTC
+++ This bug was initially created as a clone of Bug #657588 +++

Description of problem:
The short version of month names in zh_CN starts with a space for January through September.  But the space is not actually part of the month name, I'm sure, even if I don't know any Chinese.

Version-Release number of selected component (if applicable):
glibc-2.5-49.el5_5.7

How reproducible:
Every time

Steps to Reproduce:
1. for i in `seq 1 12` ; do LANG=zh_CN.utf8 date -d `printf 2010%02d01 $i` +%b ; done
  
Actual results:
 1月
 2月
 3月
 4月
 5月
 6月
 7月
 8月
 9月
10月
11月
12月

Expected results:
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月


Additional info:
I guess the reason for the spaces is to make these names have the same length in a display.  And when printing, it maybe doesn't cause problems too often.  But when reading a date with strptime(), it causes problems if the pattern is space separated.

Using a strptime() pattern like "%Y.%b.%d" can be made to work.  It requires that the input really has a space in the month name, so "2010. 1月.26" would be accepted, while "2010.1月.26" would not.  It could be surprising for a human entering the time.

If the date is space separated, it gets worse.  If the pattern is e.g. "%Y %b %d" there is no way to enter a date in months other than October, November, or December.  The space after %Y will match any number of spaces in the input.  There will never be any space "left" to become part of the month name.

Comment 4 errata-xmlrpc 2012-06-20 12:09:33 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0763.html