一个Javascript时间格式器
java 和 as3 都有时间格式器的类包, 而工作中又遇到 js 也需要时间格式器, 故花点小心思写了一个, 不算长, 呵呵
类方法: DateFormater()
1. 用法示例:
var df = new DateFormater('/Y年/0m月/0j日 /0h:/0i:/0s /a /D ');
var sDate = df.format( new Date);
alert( sDate ); //输出 2009年09月26日 09:54:33 AM 星期六
2. 格式说明:
/Y 四位年份 2009
/y 二位年份 09
/M 月份简写 Oct. (可设置)
/m 月份 9
/0m 补0月份 09
/j 日期 6 (若9月6号)
/0j 补0日期 06 (若9月6号)
/D 星期简写 星期六 (可设置)
/d 星期数值 {0-6} 0为星期日
/H 24h小时 9
/0H 24h补0小时 09
/h 12h小时 9
/0h 12h补0小时 09
/i 分钟 54
/0i 补0分钟 54
/s 秒 33
/0s 补0秒 33
/e 毫秒 9
/0e 补位毫秒 009 (3位)
/a am/pm简写 AM (可设置)
// /的转义, 解决格式化的字串, 如需在格式中包含字串 '/H' , 写成 DateFormater('//H'), /H就不会被格式化
3. 方法:
创建格式器
var df = new DateFormater('/Y年/0m月/0j日 /0h:/0i:/0s /a /D ');
format(Date) 格式化一个日期对象, 返回格式化后的字符串, 例: alert( df.format( new Date ) );
isUTC(boolean) 设置或读取是否以UTC时间来格式化, 默认为GMT时间. 例: df.isUTC(); df.isUTC(true);
AM(String) 设置或读取am简写的值, 对应格式/a. 例: df.AM('上午'); alert( df.format( new Date ) ); // 输出 2009年09月26日 09:54:33 上午 星期六
PM(String) 设置或读取am简写的值, 对应格式/a. 例: df.PM('P.M.');
weekdays() 设置或读取星期简写的值, 参数错误均返回 false
df.weekdays(); 返回星期简写数组: 默认为[ '星期日' - '星期六'];
df.weekdays(0); 返回指定星期简写, 此为 '星期日';
df.weekdays('Monday' , 1); 设置指定星期的简写, 这里把星期一设为 'Monday';
df.weekdays( ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] ); 设置简写数组, 长度必须为7
months() 设置月份简写的值, 用法同 weekdays, 1月-12月的索引值 {0-11}
4. 示例:
用上下午显示12小时制
var df = new DataFormater('/a /0h:/0i/0s');
df.AM('上午');
df.PM('下午');
alert( df.format(new Date) ); //系统时间, 输出 : 上午 10:46:55
alert( df.format(new Date(1253933274988)) ); //new Date指定一个时间对象
显示UTC时间
df.isUTC(true);
alert( df.format(new Date) ); //系统时间, 输出 : 上午 02:46:55 (本地GTM为 +8:00)
5. 代码: