Closed Bug 534466 Opened 13 years ago Closed 2 years ago

Address book birthday field doesn't parse date formats correctly and displays spurious date elements.

Categories

(Thunderbird :: Address Book, defect)

10 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: cyberrider, Unassigned)

References

Details

Attachments

(5 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-AU; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.5) Gecko/20091204 Lightning/1.0b2pre Thunderbird/3.0

With Regional settings set to Australia, and short date format set to "dd-MMM-yyyy", the "Birthday" fields in the "Private" tab display incorrectly formatted dates.


Reproducible: Always

Steps to Reproduce:
1.  Modify regional settings short-date format to an extended format (eg "MMM")
2.  Restart Thunderbird so that it reads the new date-format.  (Shouldn't need to do this - Thunderbird should recognise the change on next screen update but doesn't)
3.  Open address book, open a contact, go to "Private" tab and view/edit Birthday data.

Actual Results:  
With Regional settings set to Australia, and short date format set to "dd-MMM-yyyy", the "Birthday" fields in the "Private" tab displays:

[ "dd-Oct- MM" ]  [ yyyy                   ] or [ AA                 ]

(Where "dd" is the day number, "MM" is the month number, "yyyy" is the year and "AA" is the age in years.
eg Birthdate if is "1967-09-23", the fields show:
[ "23-Oct- 09" ]  [ 1967                   ] or [ 42                 ]

Setting regional settings "short date" format to "d-M-yyyy" or "d-MM-yyyy" or "dd-MM-yyyy" removes the "Oct-" from the first field.

Refer to attachments for actual screen shots.

Expected Results:  
The software should only display/edit the month field as defined by the regional settings.
If set to "MMM" (and language is English), then should display/cycle through "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"
If set to "MM" (regardless of languages), then should display/cycle through 01-12.
If set to "M" (regardless of language), then should display/cycle throught 1-12 (no leading zero).
Attachment #417310 - Flags: ui-review+
Version: unspecified → 3.0
Attachment #417310 - Flags: ui-review+
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; nl; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1

Same problem.
This is probably a duplicate of Bug 488627 as it is a problem with the toolkit datepicker, not the address book birthday field.

The modified birthday datepicker in Bug 456024 will work with more date formats than the toolkit version.  However it still only shows the numerical representation of the day and month regardless of the short date format (only the relative order of and separators between the year, month, and day are used).

When the birthday is displayed in the Address Book window then the date will follow the short date format.

(In reply to comment #0)
> 2.  Restart Thunderbird so that it reads the new date-format.  (Shouldn't need
> to do this - Thunderbird should recognise the change on next screen update but
> doesn't)

I do not think that is possible to do from the datepicker.

> If set to "MMM" (and language is English), then should display/cycle through
> "Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec"

As mentioned above, the datepicker will only use numbers to represent months.

> If set to "M" (regardless of language), then should display/cycle throught 1-12
> (no leading zero).

Leading zeroes (or lack thereof) will be supported after Bug 456024 lands.
Am still seeing the same problem in TB 3.1.11,
Any progress on this?
Thanks
Duplicate of this bug: 642787
I think I've tracked this one down to some datepicker foul-ups from unexpected date formats from the system locale (bug 488627)
Depends on: 488627
Duplicate of this bug: 713807
The patch for bug 488627 landed in Thunderbird 9, so unless this behaviour is persisting in TB 9+, I think we can close this bug.
Status: UNCONFIRMED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 9.0
Still some bug in Thunderbird 10 on Ubuntu 10.04. Picking Feb 27 1957 in date picker produces birthdate of 57-02-1957 in contacts. Last 2 digits of year is always used for date.
Switching from English to English (Canada) in System|Administration|Language Support|Language tab and setting English (United States) on Regional tab fixed my problem.
stoneguy3:

What were your regional settings before you switched?

-Mike
@Mike - probably English Canada. Installed and residing in Toronto. I explicitly loaded suggested additional English locales and logged out and in. The Language priority list is now English (Canada) - English (US) - English. Before, English was on top and English (US) was grayed out. So there's something with Thunderbird's locale handling, although I also question why I was assigned there after picking Toronto for the system base.
As the OP for this bug, I'm re-opening it as it is NOT fixed (or it was fixed and has been regressed).
I've re-tested with TB 10.0.2 with the same results as before.
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 - Build ID: 20120216022751

I'm attaching two screenshots of the Address Book birthday dialogue boxes.
Status: RESOLVED → UNCONFIRMED
Resolution: FIXED → ---
Scott:

I notice you have a few extra tabs there.  Do you have some sort of address book add-on enabled?  Does the problem persist if you disable the add-on?

-Mike
The date picker is selecting the correct date (23-Sep-1967 in this example), however it appears that the underlying editable field for the day and month is (probably) where the error lies.
If one directly edits the field, one can edit the "day" section, hit tab, and edit the "month" section, but one is never able to actually select or otherwise manipulate the "-Oct-" text.
In other words, it appears that the "-Oct-" component is possibly a malformed date separator.
I've just changed my date format regional settings to 'd/MMM/yyyy', and the date field now shows "23/Oct/09".

@Mike: Good question - I've restarted without the "MoreFunctionsForAddressBook" extension (https://nic-nac-project.org/~kaosmos/morecols-en.html) but have the same results as before.  The "-Oct-" or "/Oct/" still appears in the field.
OS: Windows XP → All
Hardware: x86 → All
Version: 3.0 → 10
This bug appears to be independent of platform or machine architecture.
I also see this behavior.  Can someone change the status from "unconfirmed" to something more appropriate?

Environment: TB 17.0.4, Windows 7, Region and Language(control panel): English (US), Short Date dd-MMM-YY, short tiem HH:mm, First day of week: Sunday.

Enter a birthday with calendar pop-up, displays as dd-Oct-12, where dd is the correct day.  "YYYY or <age>" display is correct.  Pulling down the birthday calendar shows the correct year and month.

Sample procedure to demonstrate bug: (Today is 21-Mar-2013)

New contact.

Private.

Field is pre-filled as "-Oct-".

Enter 1964 in year box (to get calendar to right place quickly)

Display: -Oct- 1964 or 49

Click calendar triangle

Calendar Display is "21-Mar-1964"  (Current day, month -- not Oct from form)

Click right arrow to June.

Click 14.

Form Display: "14-Oct-06 1964 or 48" (Wrong month, year)

Click calendar triangle

Calendar Display "14-Jun-1964" (Correct)
Oh, extensions - don't think they are involved, but for completeness:

Auto compress file, Calendar Tweaks, Deselect on Click, Deselect on delete, Dictionnaires francais, Lightening, LookOut, QuickFolders, Signature Switch, Test Pilot, US English Spellchecker and (disabled) TB Address book Sync.
confirming based on two reports
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: Thunderbird 9.0 → ---

This was redone in Thunderbird 78. Not an issue anymore as the fields as separate.

Status: NEW → RESOLVED
Closed: 11 years ago2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.