Ext.util.Format.date,分钟与月份的误会

Ext.util.Format.date,分钟与月份的误会

  3375人阅读  评论(0)  收藏  举报
  分类:
如下这段简单的代码:
[javascript]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. var d = new Date(value.time);  
  2. var s = Ext.util.Format.date(d, 'Y-m-d H:m:s');  
  3. return s;  
在Chrome的Develop Tools中断点调试,发现这些变量的值为:
value.time: 1396257528000
d: Mon Mar 31 2014  17:18:48 GMT+0800 (中国标准时间)
s: "2014-03-31  17:03:48"
年月日时分秒中,只有分钟不对,硬生生的差了15分钟,汗!
单步跟踪进去,发现是Extjs的源码(VM13060)里有问题,竟然用月份代替了分钟:
[javascript]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. (function() {  
  2.     var Ext = window.ExtBox1;  
  3.     return Ext.String.leftPad(this.getFullYear(), 4, '0') + '-' + Ext.String.leftPad(this.getMonth() + 1, 2, '0') + '-'   
  4.         + Ext.String.leftPad(this.getDate(), 2, '0') + ' ' + Ext.String.leftPad(this.getHours(), 2, '0') + ':'   
  5.         + Ext.String.leftPad(this.getMonth() + 1, 2, '0') + ':' + Ext.String.leftPad(this.getSeconds(), 2, '0')  
  6. })  
仔细一想,发现是分钟(minute)与月份(month)搞错了,分钟应该用i而不是m,汗!
[javascript]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. Ext.util.Format.date(d, 'Y-m-d H:i:s');  
也只有我这样的新手,才会犯这样的错误吧!Extjs的源码里有各种格式的功能的:
[javascript]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. formatCodes : {  
  2.     d: "Ext.String.leftPad(this.getDate(), 2, '0')",  
  3.     D: "Ext.Date.getShortDayName(this.getDay())",   
  4.     j: "this.getDate()",  
  5.     l: "Ext.Date.dayNames[this.getDay()]",  
  6.     N: "(this.getDay() ? this.getDay() : 7)",  
  7.     S: "Ext.Date.getSuffix(this)",  
  8.     w: "this.getDay()",  
  9.     z: "Ext.Date.getDayOfYear(this)",  
  10.     W: "Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')",  
  11.     F: "Ext.Date.monthNames[this.getMonth()]",  
  12.     m: "Ext.String.leftPad(this.getMonth() + 1, 2, '0')",  
  13.     M: "Ext.Date.getShortMonthName(this.getMonth())",   
  14.     n: "(this.getMonth() + 1)",  
  15.     t: "Ext.Date.getDaysInMonth(this)",  
  16.     L: "(Ext.Date.isLeapYear(this) ? 1 : 0)",  
  17.     o: "(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : "  
  18.        "(Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))",  
  19.     Y: "Ext.String.leftPad(this.getFullYear(), 4, '0')",  
  20.     y: "('' + this.getFullYear()).substring(2, 4)",  
  21.     a: "(this.getHours() < 12 ? 'am' : 'pm')",  
  22.     A: "(this.getHours() < 12 ? 'AM' : 'PM')",  
  23.     g: "((this.getHours() % 12) ? this.getHours() % 12 : 12)",  
  24.     G: "this.getHours()",  
  25.     h: "Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",  
  26.     H: "Ext.String.leftPad(this.getHours(), 2, '0')",  
  27.     i: "Ext.String.leftPad(this.getMinutes(), 2, '0')",  
  28.     s: "Ext.String.leftPad(this.getSeconds(), 2, '0')",  
  29.     u: "Ext.String.leftPad(this.getMilliseconds(), 3, '0')",  
  30.     O: "Ext.Date.getGMTOffset(this)",  
  31.     P: "Ext.Date.getGMTOffset(this, true)",  
  32.     T: "Ext.Date.getTimezone(this)",  
  33.     Z: "(this.getTimezoneOffset() * -60)",  
  34.   
  35.     c: function() {   
  36.         for (var c = "Y-m-dTH:i:sP", code = [], i = 0, l = c.length; i < l; ++i) {  
  37.             var e = c.charAt(i);  
  38.             code.push(e == "T" ? "'T'" : utilDate.getFormatCode(e));   
  39.         }  
  40.         return code.join(" + ");  
  41.     },          
  42.   
  43.     U: "Math.round(this.getTime() / 1000)"  
  44. },  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值