{
  "post": "https://www.threadrecap.com/en/blog/whatsapp-export-timestamp-formats",
  "checked_on": "2026-10-16",
  "synthetic": true,
  "note": "Every line is invented for this test. No line comes from a real conversation.",
  "cases": [
    {
      "id": "layout-01",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Many (UK, Brazil, most of Europe)",
      "input": "[24/01/2026, 13:46:00] Ravi: Are we still on for Friday?",
      "expected": "Ravi, 24 January 2026, 13:46"
    },
    {
      "id": "layout-02",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Spanish (Spain, Latin America)",
      "input": "[15/01/26, 15:45:00] Lucía: ¿Llegaste bien?",
      "expected": "Lucía, 15 January 2026, 15:45"
    },
    {
      "id": "layout-03",
      "kind": "layout",
      "phone": "iPhone",
      "label": "English (US)",
      "input": "[1/15/26, 3:45:00 PM] Jordan: Running ten minutes late",
      "expected": "Jordan, 15 January 2026, 15:45"
    },
    {
      "id": "layout-04",
      "kind": "layout",
      "phone": "iPhone",
      "label": "German",
      "input": "[15.01.26, 15:45:00] Jonas: Bin gleich da",
      "expected": "Jonas, 15 January 2026, 15:45"
    },
    {
      "id": "layout-05",
      "kind": "layout",
      "phone": "iPhone",
      "label": "German (four-digit year)",
      "input": "[15.01.2026, 15:46:12] Lena: Super, danke",
      "expected": "Lena, 15 January 2026, 15:46"
    },
    {
      "id": "layout-06",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Italian / Indonesian",
      "input": "[14/08/24, 23.12.35] Giorgio: Ci vediamo domani",
      "expected": "Giorgio, 14 August 2024, 23:12"
    },
    {
      "id": "layout-07",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Korean",
      "input": "[2026/01/15, 15:45:00] Ji-woo: 도착했어요",
      "expected": "Ji-woo, 15 January 2026, 15:45"
    },
    {
      "id": "layout-08",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Korean (오전 / 오후)",
      "input": "[2026. 1. 15. 오후 3:45:00] Min-jun: 지금 출발해요",
      "expected": "Min-jun, 15 January 2026, 15:45"
    },
    {
      "id": "layout-09",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Many (a.m. / p.m. with dots)",
      "input": "[15/01/26, 3:45:00 p.m.] Sofía: Ya salí",
      "expected": "Sofía, 15 January 2026, 15:45"
    },
    {
      "id": "layout-10",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Chinese",
      "input": "[20/8/2025 下午7:27:06] Mei: 我到了",
      "expected": "Mei, 20 August 2025, 19:27"
    },
    {
      "id": "layout-11",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Arabic",
      "input": "‏‫[20/2/2026، 10:57:14 م]‏ ‏Noor: ‏مرحبا",
      "expected": "Noor, 20 February 2026, 22:57"
    },
    {
      "id": "layout-12",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Many (dashes in the date)",
      "input": "[15-01-2026, 15:45:00] Tomás: Hello",
      "expected": "Tomás, 15 January 2026, 15:45"
    },
    {
      "id": "layout-13",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Arabic (Arabic-Indic digits)",
      "input": "[١٧/٤/٢٠٢٦، ١٨:٢٨] Karim: تمام",
      "expected": "Karim, 17 April 2026, 18:28"
    },
    {
      "id": "layout-14",
      "kind": "layout",
      "phone": "iPhone",
      "label": "Thai (Buddhist calendar)",
      "input": "[18/09/69 BE, 2:31:55 p. m.] Malee: The appointment is confirmed",
      "expected": "Malee, 18 September 2026, 14:31"
    },
    {
      "id": "layout-15",
      "kind": "layout",
      "phone": "Android",
      "label": "Many (India, Europe)",
      "input": "24/01/2026, 13:46 - Ravi: Are we still on for Friday?",
      "expected": "Ravi, 24 January 2026, 13:46"
    },
    {
      "id": "layout-16",
      "kind": "layout",
      "phone": "Android",
      "label": "Portuguese (Portugal)",
      "input": "17/01/26, 17:54 - Inês: Já cheguei",
      "expected": "Inês, 17 January 2026, 17:54"
    },
    {
      "id": "layout-17",
      "kind": "layout",
      "phone": "Android",
      "label": "Portuguese (Brazil)",
      "input": "16/03/2024 18:49 - Bruno: Tô chegando",
      "expected": "Bruno, 16 March 2024, 18:49"
    },
    {
      "id": "layout-18",
      "kind": "layout",
      "phone": "Android",
      "label": "English (US)",
      "input": "1/15/26, 3:45 PM - Jordan: On my way",
      "expected": "Jordan, 15 January 2026, 15:45"
    },
    {
      "id": "layout-19",
      "kind": "layout",
      "phone": "Android",
      "label": "German",
      "input": "15.01.26, 15:45 - Jonas: Bin unterwegs",
      "expected": "Jonas, 15 January 2026, 15:45"
    },
    {
      "id": "layout-20",
      "kind": "layout",
      "phone": "Android",
      "label": "Italian / Indonesian",
      "input": "14.08.24, 23.12 - Giorgio: Buonanotte",
      "expected": "Giorgio, 14 August 2024, 23:12"
    },
    {
      "id": "layout-21",
      "kind": "layout",
      "phone": "Android",
      "label": "Korean",
      "input": "2026/01/15, 15:45 - Ji-woo: 네, 알겠어요",
      "expected": "Ji-woo, 15 January 2026, 15:45"
    },
    {
      "id": "layout-22",
      "kind": "layout",
      "phone": "Android",
      "label": "Many (dashes in the date)",
      "input": "15-01-2026, 15:45 - Tomás: Hi there",
      "expected": "Tomás, 15 January 2026, 15:45"
    },
    {
      "id": "layout-23",
      "kind": "layout",
      "phone": "Android",
      "label": "English (India)",
      "input": "15/01/2026, 3:45 pm - Arjun: Reached the office",
      "expected": "Arjun, 15 January 2026, 15:45"
    },
    {
      "id": "layout-24",
      "kind": "layout",
      "phone": "Android",
      "label": "German (12-hour clock)",
      "input": "19.09.24, 1:15 nachm. - Jonas: Mittagspause",
      "expected": "Jonas, 19 September 2024, 13:15"
    },
    {
      "id": "layout-25",
      "kind": "layout",
      "phone": "Android",
      "label": "French (12-hour clock)",
      "input": "28/12/2022, 9:10 soir - Chloé: Bonne soirée",
      "expected": "Chloé, 28 December 2022, 21:10"
    },
    {
      "id": "layout-26",
      "kind": "layout",
      "phone": "Android",
      "label": "Portuguese (Brazil, 12-hour clock)",
      "input": "17/08/2024 9:45 da noite - Bruno: Boa noite",
      "expected": "Bruno, 17 August 2024, 21:45"
    },
    {
      "id": "layout-27",
      "kind": "layout",
      "phone": "Android",
      "label": "English (day period spelled out)",
      "input": "12/12/25, 7:30 in the evening - Ravi: Dinner at eight?",
      "expected": "Ravi, 12 December 2025, 19:30"
    },
    {
      "id": "layout-28",
      "kind": "layout",
      "phone": "Android",
      "label": "Croatian",
      "input": "15. 08. 2026. 13:27 - Marko: Stižem za pet minuta",
      "expected": "Marko, 15 August 2026, 13:27"
    },
    {
      "id": "layout-29",
      "kind": "layout",
      "phone": "Android",
      "label": "Slovenian",
      "input": "23. 2. 26, 17:59 - Nina: Živjo!",
      "expected": "Nina, 23 February 2026, 17:59"
    },
    {
      "id": "layout-30",
      "kind": "layout",
      "phone": "Android",
      "label": "French (hour written with h)",
      "input": "2024-07-12, 18 h 39 - Chloé: Coucou !",
      "expected": "Chloé, 12 July 2024, 18:39"
    },
    {
      "id": "layout-31",
      "kind": "layout",
      "phone": "Android",
      "label": "Arabic (Arabic-Indic digits)",
      "input": "١٧/٤/٢٠٢٦، ١٨:٢٨ - Karim: تمام",
      "expected": "Karim, 17 April 2026, 18:28"
    },
    {
      "id": "layout-32",
      "kind": "layout",
      "phone": "Android",
      "label": "Persian",
      "input": "۱۷/۴/۲۰۲۶، ۱۸:۲۸ - Darius: سلام",
      "expected": "Darius, 17 April 2026, 18:28"
    },
    {
      "id": "layout-33",
      "kind": "layout",
      "phone": "Android",
      "label": "Thai (Buddhist calendar)",
      "input": "18/09/2569 BE, 14:31 - Malee: I will bring the documents",
      "expected": "Malee, 18 September 2026, 14:31"
    },
    {
      "id": "marker-01",
      "kind": "marker",
      "phone": "iPhone",
      "label": "Voice message attached (iPhone)",
      "input": "[24/01/2026, 13:58:27] Ravi: ‎<attached: 00000007-AUDIO-2026-01-24-13-58-27.opus>",
      "expected": "voice file 00000007-AUDIO-2026-01-24-13-58-27.opus"
    },
    {
      "id": "marker-02",
      "kind": "marker",
      "phone": "Android",
      "label": "Voice message attached (Android)",
      "input": "16/03/2024 18:49 - Bruno: PTT-20240316-WA0047.opus (arquivo anexado)",
      "expected": "voice file PTT-20240316-WA0047.opus"
    },
    {
      "id": "marker-03",
      "kind": "marker",
      "phone": "iPhone",
      "label": "Photo attached",
      "input": "[03/01/2026, 00:37:39] Ravi: ‎<attached: 00000002-PHOTO-2026-01-03-00-37-39.jpg>",
      "expected": "photo 00000002-PHOTO-2026-01-03-00-37-39.jpg, no voice"
    },
    {
      "id": "marker-04",
      "kind": "marker",
      "phone": "Android",
      "label": "Media omitted (Android)",
      "input": "24/01/2026, 14:02 - Ravi: <Media omitted>",
      "expected": "1 file left out, not a voice message"
    },
    {
      "id": "marker-05",
      "kind": "marker",
      "phone": "iPhone",
      "label": "Voice message omitted (iPhone)",
      "input": "[24/01/2026, 14:03:10] Ravi: ‎audio omitted",
      "expected": "1 voice message left out"
    },
    {
      "id": "marker-06",
      "kind": "marker",
      "phone": "Android",
      "label": "View-once voice message",
      "input": "24/01/2026, 14:05 - Lucía: <Se omitió el mensaje de voz de reproducción única.>",
      "expected": "1 view-once voice message left out"
    },
    {
      "id": "marker-07",
      "kind": "marker",
      "phone": "Android",
      "label": "Edited message",
      "input": "17/01/26, 18:01 - Inês: See you at 6 <This message was edited>",
      "expected": "marked edited, the mark removed from the text"
    },
    {
      "id": "marker-08",
      "kind": "marker",
      "phone": "Android",
      "label": "Encryption banner",
      "input": "24/01/2026, 13:46 - Messages and calls are end-to-end encrypted. Only people in this chat can read, listen to, or share them.",
      "expected": "a notice, not a message"
    },
    {
      "id": "marker-09",
      "kind": "marker",
      "phone": "iPhone",
      "label": "Deleted message",
      "input": "[24/01/2026, 14:10:00] Ravi: This message was deleted",
      "expected": "a notice, not a message"
    },
    {
      "id": "marker-10",
      "kind": "marker",
      "phone": "iPhone",
      "label": "Someone left a group",
      "input": "[24/01/2026, 14:12:00] Book club: ‎Ravi left",
      "expected": "a notice, not a message"
    },
    {
      "id": "not-read-01",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "Hindi or Marathi digits (Devanagari)",
      "input": "१५/०१/२०२६, १५:४५ - Arjun: Hi",
      "expected": "0 messages"
    },
    {
      "id": "not-read-02",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "Bengali digits",
      "input": "১৫/০১/২০২৬, ১৫:৪৫ - Arjun: Hi",
      "expected": "0 messages"
    },
    {
      "id": "not-read-03",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "Thai digits",
      "input": "๑๕/๐๑/๖๙ BE, ๑๕:๔๕ - Malee: Hi",
      "expected": "0 messages"
    },
    {
      "id": "not-read-04",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "A Thai year without its BE mark",
      "input": "18/09/2569, 14:31 - Malee: Hi",
      "expected": "0 messages"
    },
    {
      "id": "not-read-05",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "Turkish 12-hour clock",
      "input": "28.12.2022 01:50 ÖS - Elif: Merhaba",
      "expected": "0 messages"
    },
    {
      "id": "not-read-06",
      "kind": "not_read_yet",
      "phone": "Android",
      "label": "Hungarian 12-hour clock",
      "input": "2022. 12. 28. 1:50 du. - Zsófi: Szia",
      "expected": "0 messages"
    }
  ]
}
