1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| function formatDate( $sDateFormat, $sDateField, $sLanguage = '' )
{
#Initialse the array with date formats
$aDate = array();
#Day of the month, numeric (00..31)
$aDate['d'] = 'DATE_FORMAT(' . $sDateField . ", '%d')";
#Day of the month, numeric (0..31)
$aDate['e'] = 'DATE_FORMAT(' . $sDateField . ", '%e')";
#Month, numeric (00..12)
$aDate['m'] = 'DATE_FORMAT(' . $sDateField . ", '%m')";
#Month, numeric (0..12)
$aDate['c'] = 'DATE_FORMAT(' . $sDateField . ", '%c')";
#Year, numeric four digits (1999)
$aDate['Y'] = 'DATE_FORMAT(' . $sDateField . ", '%Y')";
#Year, numeric two digits (99)
$aDate['y'] = 'DATE_FORMAT(' . $sDateField . ", '%y')";
#Hour (00..23)
$aDate['H'] = 'DATE_FORMAT(' . $sDateField . ", '%H')";
#Minutes (00..59)
$aDate['i'] = 'DATE_FORMAT(' . $sDateField . ", '%i')";
#Seconds (00..59)
$aDate['s'] = 'DATE_FORMAT(' . $sDateField . ", '%S')";
#Day of the year (001..366)
$aDate['j'] = 'DATE_FORMAT(' . $sDateField . ", '%j')";
#Day of the week(0=Sunday, 6=saterday)
$aDate['w'] = 'DATE_FORMAT(' . $sDateField . ", '%w')";
$aDate['%'] = '%%';
#Define the language dependent date formats
#$aDate['a'] = Abbreviated weekday name (Sun..Sat)
#$aDate['M'] = Abbreviated month name (Jan..Dec)
#$aDate['W'] = Weekday name (Sunday..Saterday)
#$aDate['b'] = Mont name (January..December)
switch ($sLanguage)
{
case 'nl':
$aDate['a'] = 'ELT((WEEKDAY(' . $sDateField . ")+1), 'ma','di','wo','do','vr','za','zo')";
$aDate['M'] = 'ELT(MONTH(' . $sDateField . "), 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december')";
$aDate['W'] = 'ELT((WEEKDAY(' . $sDateField . ")+1), 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag')";
$aDate['b'] = 'ELT(MONTH(' . $sDateField . "), 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec')";
break;
default:
$aDate['a'] = 'DATE_FORMAT(' . $sDateField . ", '%a')";
$aDate['M'] = 'DATE_FORMAT(' . $sDateField . ", '%M')";
$aDate['W'] = 'DATE_FORMAT(' . $sDateField . ", '%W')";
$aDate['b'] = 'DATE_FORMAT(' . $sDateField . ", '%b')";
break;
}
$aReturn = array();
$iFormatLength = strlen( $sDateFormat );
for( $i = 0; $i < $iFormatLength; $i++ )
{
#Replace arguments per char
$sChar = substr( $sDateFormat, $i, 1 );
if( array_key_exists( $sChar, $aDate ) )
{
$aReturn[] = $aDate[$sChar];
} else {
$aReturn[] = "'" . $sChar . "'";
}
}
return 'CONCAT(' . implode( ',', $aReturn ) . ')';
} |