Ext.util.Format.date

如下这段简单的代码: 
  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)里有问题,竟然用月份代替了分钟:

  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

  1. Ext.util.Format.date(d, 'Y-m-d H:i:s');

Extjs的源码里有各种格式的功能的:

  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. c: function() {
  35. for (var c = "Y-m-dTH:i:sP", code = [], i = 0, l = c.length; i < l; ++i) {
  36. var e = c.charAt(i);
  37. code.push(e == "T" ? "'T'" : utilDate.getFormatCode(e));
  38. }
  39. return code.join(" + ");
  40. },
  41. U: "Math.round(this.getTime() / 1000)"
  42. },

原文链接:https://blog.csdn.net/gaojinshan/article/details/22683777

Ext.util.Format.date 时间格式的设置与转换的更多相关文章

  1. Ext.util.Format.date与Ext.Date.format区别, 转换时间戳

    在Extjs中装时间戳使用如下两种都可以: Ext.util.Format.date(time,'U'); Ext.Date.format(time, 'U'); 为了找到它们的区别,查看源代码,以E ...

  2. ExtJs之Ext.util.Format

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  3. Extjs4 中date时间格式的问题

    在Grid中显示时间,后台传过来的是date格式的数据(PHP date('Y-m-d', time()),一般在Ext model中定义数据的类型和格式: {name:'birth', type:' ...

  4. 按照相应的格式获取系统时间并将其转化为SQL中匹配的(date)时间格式

    在获取时间时需要对时间格式进行设置,此时就需要用到SimpleDateFormat 类 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM ...

  5. Date时间格式的转换以及一些用法

    import java.util.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.u ...

  6. jmeter中对于各类时间格式的设置

    最普通的设置为使用 函数助手中的__time, 设置好需要使用的类型,并设置接收参数即可 YMD = yyyyMMdd HMS = HHmmss YMDHMS = yyyyMMdd-HHmmss 第二 ...

  7. WordPress 博客文章时间格式the_time()设置

    国外设计的WordPress 主题里的文章的时间格式是类似“十一月 21, 2010”这种格式的,而中国人习惯的是年在前,月紧跟其后,日在末尾,所以看国外的就显得很别扭,但是我们可以通过修改WP时间代 ...

  8. new Date时间格式转换方法

    平时经常会使用到时间转换,组件库已经有很多组件可以自动生成时间类型了,但是底层的封装方法还是得有 获取当前时间 new Date()  或者自己拥有一个毫秒时间 方法如下 /** * title: 时 ...

  9. 关于javascript中时间格式和时间戳的转换

    当前时间获取的各种函数: var myDate = new Date();myDate.getYear();        //获取当前年份(2位),已经不推荐使用myDate.getFullYear ...

随机推荐

  1. Git从零开始(三)

    一.远程仓库管理 1.将本地内容推送到远程库 先关联远程库,执行命令: git remote add origin https://github.com/Hollydan/gitstore.git ( ...

  2. func_get_args()在php71与php56的区别

    func_get_args() 获取函数的所有参数,返回一个数组 官方:http://www.php.net/manual/en/function.func-get-args.php 但是此函数在ph ...

  3. FileReader & Blob & File

    FileReader & Blob & File https://developer.mozilla.org/en-US/docs/Web/API/FileReader https:/ ...

  4. SP4487 GSS6 - Can you answer these queries VI

    题目大意 给出一个由N个整数组成的序列A,你需要应用M个操作: I p x 在 p  处插入插入一个元素 x D p 删除 p 处的一个元素 R p x 修改 p 处元素的值为 x Q l r 查询一 ...

  5. 2019.3.12考试&2019.3.13考试&ESTR

    过程:太菜了,不写了 T1 基环树直径,一定学 T2 树上斜率优化,类似购票,数据结构/分治算法,一定改 (把点按深度排序倒着跑2e7次斜率优化也能A,orz zyz) T3 CC原题,码码码,一定补 ...

  6. fzyzojP3979 -- [校内训练20180914]魔法方阵

    原题见CF632F https://blog.csdn.net/Steaunk/article/details/80217764 这个比较神仙了 点边转化, 把max硬生生转化成了路径最大值,再考虑所 ...

  7. D. Recovering BST Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    http://codeforces.com/contest/1025/problem/D 树 dp 优化 f[x][y][0]=f[x][z][1] & f[z+1][y][0] ( gcd( ...

  8. C#创建基本图表(Chart Controls)

    在.NET环境下微软提供了强大了图表控件,并给多了很多实例,关于图表的基本元素如下: 并且MSDN给出了创建图表的示例步骤,原文地址:http://msdn.microsoft.com/en-us/l ...

  9. 「Vue」登陆-路由拦截器

    1.main.js设置拦截器 router.beforeEach(function (to,from,next) { if (to.meta.requireAuth) { if (store.stat ...

  10. Hadoop生态圈-Flume的组件之自定义拦截器(interceptor)

    Hadoop生态圈-Flume的组件之自定义拦截器(interceptor) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客只是举例了一个自定义拦截器的方法,测试字节传输速 ...