MooTools 1.5.1 Date.parse trouble with german short date
Shows that MooTools 1.5.1 Date.parse().format() is able to handle german short date format "d.m.y" by using or setting the Locale.
by Andreas Burg
HTML
<!--
Shows that MooTools 1.5.1 Date.parse().format() is able to handle german short date format "d.m.y" by using or setting the Locale.
-->
<pre id="output"></pre>
CSS
.invalid {
color: red;
}
b {
display: block;
margin: .5em 0;
}
JavaScript
// german date format should be date first - d.m.Y, d.m.y
var
output = $('output'),
formatOut = '%Y %d %B',
dates = [
'03.12.2015', // December
'31.12.2015', // December
'12.03.2015', // March
'03.12.15', // December
'31.12.15', // December
'12.03.15', // March
'03-12-2015', // December
'31-12-2015', // December
'12-03-2015', // March
'03-12-15', // December
'31-12-15', // December
'12-03-15', // March
'03/12/2015', // December
'31/12/2015', // December
'12/03/2015', // March
'03/12/15', // December
'31/12/15', // December
'12/03/15' // March
],
date = new Date(),
dateIn = new Element('span.in'),
dateOut = new Element('span.out'),
invalid
;
Date.defineFormat('out', formatOut);
generate = function() {
dates.each(function(item) {
dateIn.set('text', item + '\t=> ');
dateOut.set('text', date.parse(item).format('out') + '\n');
invalid = '';
if(date.get('year') == 1970) {
invalid = 'invalid';
}
dateIn.clone().inject(output);
dateOut.clone().inject(output).addClass(invalid);
});
};
output.appendHTML('<b>Output always should be:\n\tDecember\n\tDecember\n\tMarch</b>');
output.appendHTML('<b>Default date parsing</b>');
generate();
output.appendHTML('<b>After setting the dateOrder of en-US to date, month, year</b>');
Locale.define('en-US', 'Date', 'dateOrder', ['date', 'month', 'year', '/']);
Locale.use('en-US');
generate();
output.appendHTML('<b>Or simply by using the german Locale</b>');
Locale.use('de-DE');
generate();