I tested with Dojo 1.9.1 : issue persist.
I opend a Ticket in Dojo bug Tracker : #17342.
I found another fix which is still better than previous, as it preserves expected timle format:
function dateTimeFormatter(value) {
if (value && value.length==19) {
vDate=dojo.date.locale.parse(value, {datePattern: "yyyy-MM-dd", timePattern: "HH:mm:ss", selector: 'date and time'});
if (! vDate) {
vDate=new Date(value.substr(0,4),value.substr(5,2),value.substr(8,2),value.substr(11,2),value.substr(14,2),value.substr(17,2),0);
if (! vDate) {
return dateFormatter(value.substr(0,10))+":"+value.substr(11,5);
}
}
return dojo.date.locale.format(vDate, {formatLength: "short", fullYear: true});
} else {
return value;
}
}
function timeFormatter(value) {
if (value.length==19) {
vDate=dojo.date.locale.parse(value, {datePattern: "yyyy-MM-dd", timePattern: "HH:mm:ss", selector: 'date and time'});
if (! vDate) {
vDate=new Date(value.substr(0,4),value.substr(5,2),value.substr(8,2),value.substr(11,2),value.substr(14,2),value.substr(17,2),0);
if (! vDate) {
return value.substr(11,5);
}
}
return dojo.date.locale.format(vDate, {formatLength: "time"});
} else {
return value;
}
}