Javascript中并没有内置的日期格式化函数,因此JS框架都有自己的实现方法,而在Dojo中,就是dojo.date.locale.format:
dojo.date.locale.format = function(/*Date*/dateObject, /*dojo.date.locale.__FormatOptions?*/options)
dojo.date.locale.forma中有两个参数,第一个是日期,第二个是格式化的参数。
顾名思义,第一个参数就是日期类型的值;
而第二个参数则包括如下部分:
// selector: String
// 可选值为: 'time'或'date' (默认: date 和 time都有)
// formatLength: String
// 可选值:long, short, medium 或者 full (附加有自定义的内容). 默认值 'short'
// datePattern:String
// 值:由y、M、d组成的表达式
// timePattern:String
//值:由h、m、s、S组成的表达式
// am: String
// 值:需要在新字符串中替换am的字符串
// pm: String
//值:需要在新字符串中替换pm的字符串
// locale: String
// 值:语言(en、zh、zh-tw...)
// fullYear: Boolean
// 值:true、false是否总是显示4位的年份,例如datePatter是yy-MM-dd,也会按照yyyy-MM-dd显示
// strict: Boolean
// 值:true,false,是否严格按表达式生成,例如公元前6世纪之类
由于时间问题,例子就不写了,下面这段可供参考一下:
var date = new Date(2006, 7, 11, 0, 55, 12, 345);
t.is("Friday, August 11, 2006", dojo.date.locale.format(date, {formatLength:'full',selector:'date', locale:'en-us'}));
t.is("vendredi 11 ao/xFBt 2006", dojo.date.locale.format(date, {formatLength:'full',selector:'date', locale:'fr-fr'}));
t.is("Freitag, 11. August 2006", dojo.date.locale.format(date, {formatLength:'full',selector:'date', locale:'de-at'}));
t.is("2006/u5E748/u670811/u65E5/u91D1/u66DC/u65E5", dojo.date.locale.format(date, {formatLength:'full',selector:'date', locale:'ja-jp'}));
t.is("8/11/06", dojo.date.locale.format(date, {formatLength:'short',selector:'date', locale:'en-us'}));
t.is("11/08/06", dojo.date.locale.format(date, {formatLength:'short',selector:'date', locale:'fr-fr'}));
t.is("11.08.06", dojo.date.locale.format(date, {formatLength:'short',selector:'date', locale:'de-at'}));
t.is("06/08/11", dojo.date.locale.format(date, {formatLength:'short',selector:'date', locale:'ja-jp'}));
t.is("6", dojo.date.locale.format(date, {datePattern:'E', selector:'date'}));
t.is("12:55 AM", dojo.date.locale.format(date, {formatLength:'short',selector:'time', locale:'en-us'}));
t.is("12:55:12", dojo.date.locale.format(date, {timePattern:'h:m:s',selector:'time'}));
t.is("12:55:12.35", dojo.date.locale.format(date, {timePattern:'h:m:s.SS',selector:'time'}));
t.is("24:55:12.35", dojo.date.locale.format(date, {timePattern:'k:m:s.SS',selector:'time'}));
t.is("0:55:12.35", dojo.date.locale.format(date, {timePattern:'H:m:s.SS',selector:'time'}));
t.is("0:55:12.35", dojo.date.locale.format(date, {timePattern:'K:m:s.SS',selector:'time'}));