javascript 时间对象的操作

来源:互联网 发布:淘宝盗图处罚规则新规 编辑:程序博客网 时间:2024/06/06 07:38
  1. 时间对象是一个我们经常要用到的对象,无论是做时间输出、时间判断等操作时都与这个对象离不开。除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用。下面还是按照我们的流程来进行讲解。
  2. 它是一个内置对象——而不是其它对象的属性,允许用户执行各种使用日期和时间的过程。
  3.  方法:分为得到时间方法、设置时间方法和转换时间方法
  4. 得到时间方法:
  5.   getDate() 查看Date对象并返回日期
  6.   getDay() 返回星期几
  7.   getHours() 返回小时数
  8.   getMinutes() 返回分钟数
  9.   getMonth() 返回月份值
  10.   getSeconds() 返回秒数
  11.   getTime() 返回完整的时间
  12.   getYear() 返回年份
  13.   
  14. 设置时间方法:
  15.   setDate() 改变Date对象的日期
  16.   setHours() 改变小时数
  17.   setMinutes() 改变分钟数
  18.   setMonth() 改变月份
  19.   setSeconds() 改变秒数
  20.   setTime() 改变完整的时间
  21.   setYear() 改变年份
  22. 转换时间方法:
  23.   toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,15 June l997 14:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变)
  24.   toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式
  25.   UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1970年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期
  26. 几个需要注意的地方:
  27. 1、得到日期和年和设置日期和年时间,其中很怪的问题就是不能对月份进行设置(比较的怪):
  28. <script language="javascript">
  29. d = new Date();
  30. alert(d.toLocaleString());
  31. d.setDate(25);
  32. alert(d.toLocaleString());
  33. d.setYear(2000);
  34. alert(d.toLocaleString());
  35. </script>
  36. 2、获得年的时候最好用getFullYear()方法来做
  37. 3、由于针对月份,JS是从0开始的,因此需要对月份进行操作时要加1
  38. 下面是几个关于时间的经典而且经常会用到的例子,希望对大家会有提高的。谢谢继续关注该帖子。。。
  39. 1、将2005-8-5转换成2005-08-05格式
  40. <script language="javascript">
  41. var strDate = '2005-8-5';
  42. window.alert(strDate.replace(//b(/w)/b/g, '0$1'));
  43. </script>
  44. 2、得到间隔天数
  45. <script type="text/javascript">
  46. <!--
  47. alert("间隔天数为:"+(new Date('2005/8/15')-new Date('2003/9/18'))/1000/60/60/24+"天")
  48. //-->
  49. </script>
  50. 3、得到间隔时间
  51. <script>
  52. var d1=new Date("2004/09/16 20:08:00");
  53. var d2=new Date("2004/09/16 10:18:03");
  54. var d3=d1-d2;
  55. var h=Math.floor(d3/3600000);
  56. var m=Math.floor((d3-h*3600000)/60000);
  57. var s=(d3-h*3600000-m*60000)/1000;
  58. alert("相差"+h+"小时"+m+"分"+s+"秒");
  59. </script>
  60. 4、得到今天的日期
  61. <script language="javascript">
  62. d = new Date();
  63. alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日");
  64. </script>
  65. 6、数字日期转汉字
  66. <html>
  67. <head>
  68. <title> New Document </title>
  69. </head>
  70. <body>
  71. <script language=javascript>
  72. Date.prototype.getRead = function()
  73. {
  74. var values = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九");
  75. var returnValue, temp;
  76. returnValue = this.getYear()+"年";
  77. temp = (this.getMonth()+1)+"月"+this.getDate()+"日";
  78. temptemp = temp.replace(/(/d)(/d)/g,"$1十$2").replace(/1十/g,"十").replace(/十0/g,"十");
  79. returnValue += temp;
  80. returnValuereturnValue = returnValue.replace(//d/g, function(sts){return values[parseInt(sts)]});
  81. return returnValue;
  82. }
  83. var t=new Date();
  84. document.write(t.getRead());
  85. </script>
  86. </body>
  87. </html>
  88. 7、得到前N天或后N天的日期
  89. 方法一:
  90. <script type="text/javascript">
  91. function showdate(n)
  92. {
  93. var uom = new Date(new Date()-0+n*86400000);
  94. uomuom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate();
  95. return uom;
  96. }
  97. window.alert("今天是:"+showdate(0));
  98. window.alert("昨天是:"+showdate(-1));
  99. window.alert("明天是:"+showdate(1));
  100. window.alert("10天前是:"+showdate(-10));
  101. window.alert("5天后是:"+showdate(5));
  102. </script>
  103. 方法二:
  104. <script type="text/javascript">
  105. function showdate(n)
  106. {
  107. var uom = new Date();
  108. uom.setDate(uom.getDate()+n);
  109. uomuom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate();
  110. return uom;
  111. }
  112. window.alert("今天是:"+showdate(0));
  113. window.alert("昨天是:"+showdate(-1));
  114. window.alert("明天是:"+showdate(1));
  115. window.alert("10天前是:"+showdate(-10));
  116. window.alert("5天后是:"+showdate(5));
  117. </script>
  118. 方法三(不好意思,这个市用vsscript做的):
  119. <script language="vbscript">
  120. function showdate(n)
  121. showdate=dateadd("d",date(),n)
  122. end function
  123. msgbox "今天是:"&showdate(0)
  124. msgbox "昨天是:"&showdate(-1)
  125. msgbox "明天是:"&showdate(1)
  126. msgbox "十天前是:"&showdate(-10)
  127. msgbox "五天后是:"&showdate(5)
  128. </script>
  129. 方法四:
  130. <script language="Javascript">
  131. Date.prototype.getDays=function(){
  132. var _newDate=new Date();
  133. _newDate.setMonth(_newDate.getMonth()+1);
  134. _newDate.setDate(0);
  135. $_days=_newDate.getDate();
  136. delete _newDate;
  137. return $_days;
  138. }
  139. function showdate(n)
  140. {
  141. var uom = new Date();
  142. uom.setDate(uom.getDate()+n);
  143. uomuom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate()+"/n星期"+('天一二三四五六'.charAt(uom.getDay()))+"/n本月有"+ uom.getDays()+"天";
  144. return uom;
  145. }
  146. window.alert("今天是:"+showdate(0));
  147. window.alert("昨天是:"+showdate(-1));
  148. window.alert("明天是:"+showdate(1));
  149. window.alert("10天前是:"+showdate(-10));
  150. window.alert("5天后是:"+showdate(5));
  151. </script>