New Contact birthday date shows the wrong date (1 day earlier)


Aug 5, 2018
33
20
In the Contacts app, if I add a birthday for a contact without the year, the birthday displays as the day before the day I entered.
For example:
  • I enter January 2 as the birthday.
  • After I save the change, the birthday displayed reads January 1st.
  • Similarly, if I enter January 1, the displayed birthday changes to December 31.
This bug only happens when I don't enter the year. If I enter the year, then the birthday displays correctly.

Also, this is only a display bug. If I enter January 2 as the birthday, it still saves it as January 2 on my Google Account (I can see it as January 2 when I go to https://contacts.google.com). All the bug does is display it as January 1 on the MIUI Contacts app in my phone.

I have a Mi 8 with MIUI version 9.3.14. I use the English (United States) language.
 
  • Like
Reactions: ahantsch
Looks like a problem with wrong time zone.

Please check your time zone: Settings->Additional Settings->Date & time ->Select time zone (switch off "Automatic time zone")
 
  • Angry
Reactions: ahantsch
I turned off automatic and changed the time zone manually but it still shows the wrong birthday. Here is a screenshot of my settings:

Screenshot_2019-03-21-04-03-18-108_com.android.settings.png
 
Export your account data to file in vCard format. With file viewer you can see your accounts internal settings (time zone etc...). Time zone of birthday has to be equal to time zone of phone. If time zones differ you get a lag of some hours between real birthday and birthday shown on telephone resulting in wrong date.
 
I exported name and birthday to a VCF file. I can't tell what represents the timezone used to display the birthday. The birthday is supposed to be Jan 2 but the VCF says Jan 1.

Here is the exported VCF:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=50=61=70=C3=A1=20=4A=61=69=6D=65=20=45=6E=72=69=71=75=65=20=4C=75=71=
=75=65;;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=50=61=70=C3=A1=20=4A=61=69=6D=65=20=45=6E=72=69=71=75=65=20=4C=75=71=
=75=65
X-ANDROID-CUSTOM:vnd.android.cursor.item/contact_event;January 1;;;;;;;;;;;;;;
END:VCARD


Even when I'm selecting which items to export in the vcard it displays it as Jan 1 instead of Jan 2:
Screenshot_2019-03-21-10-14-54-892_com.android.contacts.jpg
 
The entry of birthday is wrong.

X-ANDROID-CUSTOM:vnd.android.cursor.item/contact_event;January 1;;;;;;;;;;;;;;

It's configured as an android-only single event without year. That's a kludge because neither other apps like Outlook or Thunderbird nor other operation systems like IOs or Windows recognize this form of encoded "birthdays". Birthdays are coded as:

BDAY:YYYYMMDD

or

BDAY:YYYY-MM-DD

See: https://en.wikipedia.org/wiki/VCard#Properties

So it's best to delete contact and create new one within Xiaomi's addressbook. There you can select real "Birthday" as entry for your contact's birthdays.
 
Thanks again for replying. I created a new contact using MIUI Contacts app and made sure to save it to Mi Account instead of Google Account. However, teh same problem occurs as you can see below

I Enter March 21 as the birthday:
Screenshot_2019-03-21-16-06-51-643_com.android.contacts.png

But March 20 is displayed:
Screenshot_2019-03-21-16-06-57-107_com.android.contacts.png Screenshot_2019-03-21-16-07-02-274_com.android.contacts.png
 
Maybe buggy contact app? Is exported VCard code correct?

I'm on latest stable MIUI 10.2
 

Attachments

  • com.android.contacts-1.png
    com.android.contacts-1.png
    27.6 KB · Views: 344
  • com.android.contacts-2.png
    com.android.contacts-2.png
    31.2 KB · Views: 347
  • com.android.contacts-3.png
    com.android.contacts-3.png
    25.9 KB · Views: 360
  • com.android.contacts-4.png
    com.android.contacts-4.png
    23.4 KB · Views: 343
Could be, I'm on 2nd latest Beta ROM 9.3.14, also known as MIUI 10.3 (the latest version just came out a few hours ago so I havent flashed it yet). My Contacts and Dialer app version is 10.3.3.1.

From your pictures it looks like you're using a custom theme to make everything dark but that theme also makes some text invisible. In your 2nd picture, where you can select a date, there is a blue switch for the option to not use a year. If you turn it off and save the birthday without the year, does it display correctly for you?

Also I just realized you were right about the problem being related to timezones. If I change my timezone to Hong Kong (GMT+8) then the birthdays display correctly. Maybe since the EU ROM is based on the CHINA ROM, the feature hasn't been "translated" properly and it only works with Chinese time zones??
 
Last edited:
In your 2nd picture, where you can select a date, there is a blue switch for the option to not use a year. If you turn it off and save the birthday without the year, does it display correctly for you?
My Timezone is Berlin (GMT+1) and "yearless" birthdays are displayed correctly. I can't reproduce your date difference. But this strange yearless feature is responsible for generating invalid VCard code.
 
I see, can you try using GMT -4 New York to see if you get the bug? That's the time zone I'm using when it displays incorrectly. Also, I have my region set to United States, in case that makes a difference.
 
Yes I can confirm. Setting time zone to GMT -4 results in birthday displayed on previous day, even while typing in date. Selecting yearless Jan. 1 results in Dec. 31. But setting Jan 1 2000 is displayed correctly as Jan 1 2000. Same result even when setting time zone to EU territory GMT -1 or GMT +0.

That's a bug in MIUI.Same birthday in westbound timezones must not differ in date when displayed with or without year.
 
I see, thank you for confirming. Is this a bug I should report in the Chinese MIUI forum or is this something that the EU ROM will address?
 
I have a Global Redmi Note 7. I used Global ROM 10.3.5 and now I'm using xiaomi.eu 10.5 (9.6.13) weekly. Both of them have this bug. I installed Google Contacts App from Play Store and edited the same contact without any issue.
 
Last edited:
Its 2023 and the problem is still there on a device running MIUI global 12.0.5