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. [菜鸟]HTTP 与 HTTPS 的区别

    HTTP 与 HTTPS 的区别 分类 编程技术 基本概念 HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式.协作式和超媒体信息系统的应用层协议. 简 ...

  2. Android Manifest文件

    Manifest文件内容 1.自定义权限(Permission) :  <permission android:description="string resource" a ...

  3. laravel DB 执行 mysql函数或者字段

    使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理 方法如下: DB:raw('函数或者字段'); DB:w ...

  4. poj 2528 (线段树+特殊离散化)

    Mayor's posters Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 51098   Accepted: 14788 ...

  5. 理解 Continuation

    理解 Continuation (2012-08-26 10:39:34)     终于,我也不能免俗地要来谈谈这几个 Schemer 的必谈话题(顺便山寨了一个标题). Scheme 是一门神奇的编 ...

  6. Single VIP LLB and SLB config

    Single VIP LLB and SLB config >>>>>>>>>>>>>>>>>&g ...

  7. 学习Spring Boot:(十四)spring-shiro的密码加密

    前言 前面配置了怎么使用 shiro ,这次研究下怎么使用spring shiro的密码加密,并且需要在新增.更新用户的时候,实现生成盐,加密后的密码进行入库操作. 正文 配置凭证匹配器 @Bean ...

  8. HGOI20181030 模拟题解

    problem:给定一个序列,问你能不能通过一次交换把他弄成有序 sol: 对于0%的数据,满足数列是一个排列,然后我就打了这档分(自己瞎造的!) 对于100%的数据,显然我们先对数列进行排序然后上下 ...

  9. Maven添加第三方库及部署配置

    配置其实很简单,还是修改~/.m2/settings.xml文件,具体用文件说话,其他不解释. <?xml version="1.0" encoding="UTF- ...

  10. 8.30 牛客OI赛制测试赛1 F题 子序列

    题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...