Skip to content

Instantly share code, notes, and snippets.

@Exlord
Last active April 16, 2018 07:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Exlord/57dac123f119b9bb102b2ccf8f590d2b to your computer and use it in GitHub Desktop.
Save Exlord/57dac123f119b9bb102b2ccf8f590d2b to your computer and use it in GitHub Desktop.
Php IntlDateFormatter fa_IR bug test
function formatMyDate($locale, $pattern, $year, $month, $day) {
$timezone = new \DateTimeZone('Asia/Tehran');
$dateTime = new \DateTime('now', $timezone);
$dateTime->setDate($year, $month, $day);
$timeStamp = $dateTime->getTimestamp();
$dateFormatter = new \IntlDateFormatter(
$locale,
\IntlDateFormatter::FULL,
\IntlDateFormatter::FULL,
$timezone,
\IntlDateFormatter::TRADITIONAL,
$pattern);
return $dateFormatter->format($timeStamp);
}
$en = 'en_US';
$persianEn = 'en_US@calendar=persian';
$persianFa = 'fa_IR@calendar=persian';
$persian = 'fa_IR';
$pattern1 = null;
$pattern2 = 'Y/MM/d';
print(formatMyDate($en, $pattern1, 2018, 3, 17)) . ' -> OK</br>';
print(formatMyDate($en, $pattern2, 2018, 3, 17)) . ' -> OK</br>';
print'</br>';
print(formatMyDate($persianEn, $pattern1, 2018, 3, 17)) . ' -> OK</br>';
print(formatMyDate($persianEn, $pattern2, 2018, 3, 17)) . ' -> OK</br>';
print'</br>';
print(formatMyDate($persian, $pattern1, 2018, 3, 17)) . ' -> OK</br>';
print(formatMyDate($persian, $pattern2, 2018, 3, 17)) . ' -> NOT OK</br>';
print'</br>';
print(formatMyDate($persianFa, $pattern1, 2018, 3, 17)) . ' -> OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 17)) . ' -> NOT OK</br>';
print'</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 15)) . ' -> OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 16)) . ' -> OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 17)) . ' -> NOT OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 18)) . ' -> NOT OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 19)) . ' -> NOT OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 20)) . ' -> NOT OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 21)) . ' -> OK</br>';
print(formatMyDate($persianFa, $pattern2, 2018, 3, 22)) . ' -> OK</br>';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment