extjs 比较及获取当前时间

本文介绍了如何在ExtJS中获取当前日期并进行格式化,同时提供了将毫秒数转换为天、小时、分钟和秒的方法。此外,还详细列举了Ext.Date类的一些常用日期操作函数,如增加时间、判断日期是否在特定范围内、清除时间、克隆日期等。

var myDate = new Date();  // 得到系统日期
然后就可以得到时间了:
myDate.getYear();      //获取当前年份(2位)
myDate.getFullYear();  //获取完整的年份(4位,1970-????)
myDate.getMonth();      //获取当前月份(0-11,0代表1月)
myDate.getDate();      //获取当前日(1-31)
myDate.getHours();      //获取当前小时数(0-23)
myDate.getMinutes();    //获取当前分钟数(0-59)
myDate.getSeconds();    //获取当前秒数(0-59)
myDate.getMilliseconds();  //获取当前毫秒数(0-999)


///获取当前日期(到秒)

var curDate = new Date()

//格式化;

var time=Ext.Date.format(curDate, 'Y-m-d');


将毫秒数或两个日期类型数转换为*天*小时*分*秒的方法,在进行时间段计算时应该经常用到。

  1. /** 
  2.  *  
  3.  * @param 要转换的毫秒数 
  4.  * @return 该毫秒数转换为 * days * hours * minutes * seconds 后的格式 
  5.  * @author fy.zhang 
  6.  */  
  7. public static String formatDuring(long mss) {  
  8.     long days = mss / (1000 * 60 * 60 * 24);  
  9.     long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);  
  10.     long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60);  
  11.     long seconds = (mss % (1000 * 60)) / 1000;  
  12.     return days + " days " + hours + " hours " + minutes + " minutes "  
  13.             + seconds + " seconds ";  
  14. }  
  15. /** 
  16.  *  
  17.  * @param begin 时间段的开始 
  18.  * @param end   时间段的结束 
  19.  * @return  输入的两个Date类型数据之间的时间间格用* days * hours * minutes * seconds的格式展示 
  20.  * @author fy.zhang 
  21.  */  
  22. public static String formatDuring(Date begin, Date end) {  
  23.     return formatDuring(end.getTime() - begin.getTime());  
  24. }  

//****************************************************************************************************************************************************

Ext.Date是一个单例类,封装了一系列日期操作函数,扩展JavaScript Date的功能,下面列出一些常用的功能。

Ext.Date.add(date, interval, value) 给date增加或减少时间,这个函数不改变原有Date对象的值,而是返回一个新的Date对象。

Ext.Date.between(date, start, end) 判断date是否在start和end之间。

Ext.Date.clearTime(date, clone) 把date的时间设置成00小时00分00秒000毫秒。

Ext.Date.clone(date) 克隆date的一个副本。

Ext.Date.format(date, format)把日期格式化,返回格式化后的字符串。

Ext.Date.getDayOfYear(date)获取date是年中的第几天。

Ext.Date.getDaysInMonth(date)获取date是月中的第几天。

Ext.Date.getFirstDateOfMonth(date)获取date所在月份的第一天。

Ext.Date.getFirstDayOfMonth(date)获取date所在月份第一天的星期。

Ext.Date.getLastDateOfMonth(date)获取date所在月份的最后一天。

Ext.Date.getLastDayOfMonth(date)获取date所在月份最后一天的星期。

Ext.Date.getWeekOfYear(date) 获取date所在年中的第几个星期。

Ext.Date.isLeapYear(date)date所在年份是否闰年。

Ext.Date.now() 返回当前时间到1970年1月1日的毫秒数。在chrome、ie9和ie10中已经有Date.now()实现相同的功能。

Ext.Date.parse(input, format, strict)根据输入的字符串创建日期,Date.parse()有类似的功能。


[javascript]  view plain  copy
  1. // Ext.Date.add(date, interval, value) 给date增加或减少时间,这个函数不改变原有Date对象的值,而是返回一个新的Date对象。  
  2. // @param   {Date}    date      原日期对象。  
  3. // @param   {String}  interval  value的单位,可以选Ext.Date.DAY、Ext.Date.HOUR、Ext.Date.MINUTE、Ext.Date.MONTH、  
  4. //                              Ext.Date.SECOND、Ext.Date.YEAR、Ext.Date.MILLI。  
  5. // @param   {number}  value     日期对象需要增加的值。  
  6. // @return  {Date}              返回增加值后的Date对象。  
  7. // Example  
  8. var date = Ext.Date.add(new Date('10/29/2006'), Ext.Data.DAY, 5); //增加5天  
  9. console.log(date); //返回结果 Fri Nov 03 2006 00:00:00 GMT+0800 (中国标准时间)  
  10.   
  11. var date = Ext.Date.add(new Date('10/29/2006'), Ext.Data.DAY, -5); //减少5天,如果值是负数,则减少。  
  12. console.log(date); //返回结果 Tue Oct 24 2006 00:00:00 GMT+0800 (中国标准时间)  
  13.   
  14. var date = Ext.Date.add(new Date('10/29/2006'), Ext.Data.YEAR,2); //增加2年  
  15. console.log(date); //返回结果 Wed Oct 29 2008 00:00:00 GMT+0800 (中国标准时间)  
  16.   
  17.   
  18. // Ext.Date.between(date, start, end)  判断date是否在start和end之间。  
  19. // @param   {Date}     date   要判断的日期。  
  20. // @param   {Date}     start   
  21. // @param   {Date}     end  
  22. // @return  {Boolean}         如果date在start和end之间返回true,否则返回false。  
  23. // Example  
  24. var date = new Date('10/29/2006');  
  25. var start = new Date('10/5/2006');  
  26. var end = new Date('11/15/2006');  
  27. Ext.Date.between(date, start, end); //返回true  
  28.   
  29.   
  30. // Ext.Date.clearTime(date, clone)  把date的时间设置成00小时00分00秒000毫秒。  
  31. // @param   {Date}     date   
  32. // @param   {Bollean}  clone  可选参数。如果为true则返回date的一个副本,如果为false则返回date本身,默认为false。  
  33. // @return  {Date}            返回设置后的日期。  
  34. // Example  
  35. var date = new Date('10/30/2012 14:30:00');  
  36. Ext.Date.clearTime(date);  //返回 Tue Oct 30 2012 00:00:00 GMT+0800 (中国标准时间)  
  37.   
  38.   
  39. // Ext.Date.clone(date)  克隆date的一个副本。  
  40. // @param   {Date}  date  
  41. // @return  {Date}  返回克隆后的Date。  
  42. // Example  
  43. var orig = new Date('10/30/2012');  
  44. var copy = Ext.Date.clone(orig); //克隆一个值  
  45.   
  46.   
  47. // Ext.Date.format(date, format)  把日期格式化,返回格式化后的字符串。  
  48. // @param   {Date}    date    日期。  
  49. // @param   {String}  format  日期格式,Y-年,m-月,d-日,H-24小时,i-分钟,s-秒  
  50. // @return  {String}          返回格式化后的字符串。  
  51. // Example  
  52. var date = new Date('10/20/2012 14:30:00');  
  53. Ext.Date.format(date, 'Y-m-d H:i:s');        // 2012-10-20 14:30:00  
  54. Ext.Date.format(date, 'Y年m月d日 H:i:s');    // 2012年10月20日 14:30:00  
  55.   
  56.   
  57. // Ext.Date.getDayOfYear(date)  获取date是年中的第几天  
  58. // @param   {Date}    date  日期。  
  59. // @return  {Number}        返回天数,取值范围0~364,如果是闰年则有365。  
  60. // Example  
  61. var date = new Date('10/20/2012 14:30:00');  
  62. Ext.Date.getDayOfYear(date); //返回 293  
  63.   
  64.   
  65. // Ext.Date.getDaysInMonth(date)  获取date是月中的第几天  
  66. // @param   {Date}    date  日期。  
  67. // @return  {Number}        返回天数。  
  68. // Example  
  69. var date = new Date('10/20/2012 14:30:00');  
  70. Ext.Date.getDayOfYear(date); //返回 31  
  71.   
  72.   
  73. // Ext.Date.getFirstDateOfMonth(date)  获取date所在月份的第一天  
  74. // @param   {Date}  date  日期。  
  75. // @return  {Date}        返回所在月份的第一天。  
  76. // Example  
  77. var date = new Date('10/20/2012 14:30:00');  
  78. Ext.Date.getFirstDateOfMonth(date); //返回 Mon Oct 01 2012 00:00:00 GMT+0800 (中国标准时间)  
  79.   
  80.   
  81. // Ext.Date.getFirstDayOfMonth(date)  获取date所在月份第一天的星期  
  82. // @param   {Date}    date  日期。  
  83. // @return  {Number}        返回所在月份第一天的星期,取值范围0~6。  
  84. // Example  
  85. var date = new Date('10/20/2012 14:30:00');  
  86. Ext.Date.getFirstDayOfMonth(date); //返回 1,表示星期一  
  87.   
  88.   
  89. // Ext.Date.getLastDateOfMonth(date)  获取date所在月份的最后一天  
  90. // @param   {Date}  date  日期。  
  91. // @return  {Date}        返回所在月份的最后一天。  
  92. // Example  
  93. var date = new Date('10/20/2012 14:30:00');  
  94. Ext.Date.getLastDateOfMonth(date); //返回 Wed Oct 31 2012 00:00:00 GMT+0800 (中国标准时间)  
  95.   
  96.   
  97. // Ext.Date.getLastDayOfMonth(date)  获取date所在月份最后一天的星期  
  98. // @param   {Date}    date  日期。  
  99. // @return  {Number}        返回所在月份最后一天的星期,取值范围0~6。  
  100. // Example  
  101. var date = new Date('10/20/2012 14:30:00');  
  102. Ext.Date.getLastDayOfMonth(date); //返回 3,表示星期三  
  103.   
  104.   
  105. // Ext.Date.getWeekOfYear(date)  获取date所在年中的第几个星期  
  106. // @param   {Date}    date  日期。  
  107. // @return  {Number}        返回所在年中的第几个星期,取值范围1~53。  
  108. // Example  
  109. var date = new Date('10/20/2012 14:30:00');  
  110. Ext.Date.getWeekOfYear(date); //返回 42  
  111.   
  112.   
  113. // Ext.Date.isLeapYear(date)  date所在年份是否闰年  
  114. // @param   {Date}     date  日期。  
  115. // @return  {Boolean}        true表示闰年,false表示平年。  
  116. // Example  
  117. var date = new Date('10/20/2012 14:30:00');  
  118. Ext.Date.isLeapYear(date); //返回 true  
  119.   
  120.   
  121. // Ext.Date.now()     返回当前时间到1970年1月1日的毫秒数。  
  122. //                    在chrome、ie9和ie10中已经有Date.now()实现相同的功能。  
  123. // @return  {Number}  返回毫秒数。  
  124. // Example  
  125. var timestamp = Ext.Date.now();  //1351666679575  
  126. var date = new Date(timestamp);  //Wed Oct 31 2012 14:57:59 GMT+0800 (中国标准时间)  
  127.   
  128.   
  129. // Ext.Date.parse(input, format, strict)  根据输入的字符串创建日期,Date.parse()有类似的功能。  
  130. // @param {String}   input   日期字符串。  
  131. // @param {String}   format  日期格式。  
  132. // @param {Boolean}  strict  验证input字符串的有效性,默认是false。  
  133. // @param {Date}             返回创建的日期。  
  134. // Example  
  135. var input = '2012年10月31日 14:30:00';  
  136. var format = 'Y年m月d日 H:i:s';  
  137. var date = Ext.Date.parse(input, format, true);  //Wed Oct 31 2012 14:30:00 GMT+0800 (中国标准时间)  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风起未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值