Req #67425 [Opn->Fbk]: Consider supporting functionality equivalent to MediaWiki's sprintfDate()

From: Date: Wed, 07 Apr 2021 16:08:13 +0000
Subject: Req #67425 [Opn->Fbk]: Consider supporting functionality equivalent to MediaWiki's sprintfDate()
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-233296@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67425&edit=1

 ID:                 67425
 Updated by:         cmb@php.net
 Reported by:        federicoleva at tiscali dot it
 Summary:            Consider supporting functionality equivalent to
                     MediaWiki's sprintfDate()
-Status:             Open
+Status:             Feedback
 Type:               Feature/Change Request
 Package:            Date/time related
 PHP Version:        5.4.29
-Assigned To:        
+Assigned To:        cmb
 Block user comment: N
 Private report:     N

 New Comment:

Are you looking for IntlDateFormatter[1]?

[1] <https://www.php.net/intldateformatter>


Previous Comments:
------------------------------------------------------------------------
[2014-06-12 15:06:20] federicoleva at tiscali dot it

Description:
------------
MediaWiki, to support 300+ languages, has to work around some limitations in PHP's date() which
are less than optimal. However this results into a large amount of code (often inspired from other
tools) and even larger amount of i18n improperly maintained in the codebase.

Clearly, in an ideal world this would be done directly in PHP with the support of Unicode CLDR
data/i18n. You probably already know but I'm filing this just in case and as reference.

The main thing is sprintfDate(): https://git.wikimedia.org/blob/mediawiki%2Fcore.git/0444f9466366fe8cb04b9090045a07540ae56449/languages%2FLanguage.php#L1098
I'm attaching some excerpts for archival purposes.

Test script:
---------------
	/**
	 * This is a workalike of PHP's date() function, but with better
	 * internationalisation, a reduced set of format characters, and a better
	 * escaping format.
	 *
	 * Supported format characters are dDjlNwzWFmMntLoYyaAgGhHiscrUeIOPTZ. See
	 * the PHP manual for definitions. There are a number of extensions, which
	 * start with "x":
	 *
	 *    xn   Do not translate digits of the next numeric format character
	 *    xN   Toggle raw digit (xn) flag, stays set until explicitly unset
	 *    xr   Use roman numerals for the next numeric format character
	 *    xh   Use hebrew numerals for the next numeric format character
	 *    xx   Literal x
	 *    xg   Genitive month name




------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=67425&edit=1


Thread (3 messages)

« previous php.bugs (#233296) next »