source: [view]
options = options || {};
var today = _clearTime(options.relativeDate || new Date());
var diff = today.getTime() - _clearTime(dateObject).getTime();
var fmtOpts = {locale: options.locale};
if(diff === 0){
// today: 9:32 AM
return fmt(dateObject, del(fmtOpts, {selector: "time"}));
}else if(diff <= SIX_DAYS && diff > 0 && options.weekCheck !== false){
// within the last week: Mon 9:32 am
return fmt(dateObject, del(fmtOpts, {selector: "date", datePattern: "EEE"})) +
" " +
fmt(dateObject, del(fmtOpts, {selector: "time", formatLength: "short"}));
}else if(dateObject.getFullYear() == today.getFullYear()){
// this year: Nov 1
var bundle = ggb(dojo.i18n.normalizeLocale(options.locale));
return fmt(dateObject, del(fmtOpts, {
selector: "date",
datePattern: bundle["dateFormatItem-MMMd"]
}));
}else{
// default: Jun 1, 2010
return fmt(dateObject, del(fmtOpts, {
selector: "date",
formatLength: "medium",
locale: options.locale
}));
}