Display Date in Your Own Language

Nov 4, 2008 | Tags: PHP | del.icio.us del.icio.us | digg Digg

PHP has the date() function that returns day names and month names in english. But sometimes we want to display the date in our own language. To do this we have to convert those names in English to our language. Here's an example:

Listing 1: local_date.php

  1. <?php
  2. /*  
  3.  * Display date in Indonesian  
  4.  *  
  5.  * Convert day names:  
  6.  *   Sunday    -> Minggu        Thursday -> Kamis  
  7.  *   Monday    -> Senin         Friday   -> Jumat  
  8.  *   Tuesday   -> Selasa        Saturday -> Sabtu  
  9.  *   Wednesday -> Rabu  
  10.  *  
  11.  * Convert month names:  
  12.  *   January  -> Januari        July      -> Juli  
  13.  *   Pebruary -> Pebruari       August    -> Agustus  
  14.  *   March    -> Maret          September -> September  
  15.  *   April    -> April          October   -> Oktober  
  16.  *   May      -> Mei            November  -> Nopember  
  17.  *   June     -> Juni           December  -> Desember  
  18.  */  
  19.  
  20. $dayNames   = array("Minggu", "Senin", "Selasa", "Rabu",  
  21.                     "Kamis", "Jumat", "Sabtu");  
  22. $monthNames = array("Januari", "Pebruari", "Maret", "April", "Mei", "Juni",  
  23.                     "Juli", "Agustus", "September", "Oktober", "Nopember",
  24.                     "Desember");  
  25.  
  26. $today_en = date('l, jS F Y');  
  27.  
  28. $today_id = $dayNames[date('N')] . ", " . date('j') . " " .  
  29.             $monthNames[(date('n')-1)] . " " . date('Y');  
  30.  
  31. print "en: Today is $today_en<br>";  
  32. print "id: Hari ini $today_id<br>";  
  33. /*
  34. Result:  
  35. en: Today is Saturday, 5th January 2008  
  36. id: Hari ini Sabtu, 5 Januari 2008
  37. */
  38. ?>

Related Article

1 Comment

Mihai on Feb 16, 2011:

There is a simple solution using setlocale(LC_ALL, 'de_DE'); where de_DE is for deutch

Leave a comment

Name (required)
Email (will not be published) (required)
Website

Characters left = 1000