JS时间操作

来源:互联网 发布:论文网络参考文献格式 编辑:程序博客网 时间:2024/06/05 18:05

var myDate = new Date();

myDate.getYear(); //获取当前年份(2位)

myDate.getFullYear(); //获取完整的年份(4位,1970-????)

myDate.getMonth(); //获取当前月份(0-11,0代表1月)(要加1)

myDate.getDate(); //获取当前日(1-31)

myDate.getDay(); // 获取当前星期X(0-6,0代表星期天)

myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)

myDate.getHours(); //获取当前小时数(0-23)

myDate.getMinutes(); // 获取当前分钟数(0-59)

myDate.getSeconds(); //获取当前秒数(0-59)

myDate.getMilliseconds(); //获取当前毫秒数(0-999)

myDate.toLocaleDateString(); //获取当前日期

var mytime=myDate.toLocaleTimeString(); //获取当前时间

myDate.toLocaleString( ); //获取日期与时间

设置时间的方法:

setDate()       //改变Date对象的日期
setHours()      //改变小时数 
setMinutes()    //改变分钟数 
setMonth()      //改变月份
 setSeconds()    //改变秒数
 setTime()       //改变完整的时间 
setYear()       //改变年份

转换时间的方法:

toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,14 May 2007 10:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变) toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式 UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1997年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期

1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)

例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()
结果: 2008年1月29日 16:13:11

2.普通字符串(toDateString和toTimeString)

例子: (new Date()).toDateString() + " " + (new Date()).toTimeString()
结果:Tue Jan 29 2008 16:13:11 UTC+0800

3.格林威治标准时间(toGMTString)

例子: (new Date()).toGMTString()
结果:Tue, 29 Jan 2008 08:13:11 UTC

4.全球标准时间(toUTCString)

例子: (new Date()).toUTCString()
结果:Tue, 29 Jan 2008 08:13:11 UTC

5.Date对象字符串(toString)

例子: (new Date()).toString()
结果:Tue Jan 29 16:13:11 UTC+0800 2008

几个需要注意的地方:

1、得到日期和年和设置日期和年时间,其中很怪的问题就是不能对月份进行设置(比较的怪):

<script type="text/javascript" language="javascript">//d = new Date();alert(d.toLocaleString());

d.setDate(14);

alert(d.toLocaleString());

d.setYear(2007);

alert(d.toLocaleString());

</script>

2、获得年的时候最好用getFullYear()方法来做 3、由于针对月份,JS是从0开始的,因此需要对月份进
行操作时要加1 下面是几个关于时间的经典而且经常会用到的例子,对大家会有帮助的: 1、将2005-8
-5转换成2005-08-05格式

<script type="text/javascript" language="javascript">

//

var strDate = '2005-8-5';

window.alert(strDate.replace(/\b(\w)\b/g, '0$1'));

</script>

2、得到间隔天数 <script type="text/javascript">//&amp;amp;lt;!-- alert("间隔天数为:"+(new Date('2005/8/15')-new Date('2003/9/18'))/1000/60/60/24+"天") //</script>


3、得到间隔时间 <script type="text/javascript">//var d1=new Date("2004/09/16 20:08:00"); var d2=new Date("2004/09/16 10:18:03"); var d3=d1-d2; var h=Math.floor(d3/3600000); var m=Math.floor((d3-h*3600000)/60000); var s=(d3-h*3600000-m*60000)/1000; alert("相差"+h+"小时"+m+"分"+s+"秒"); //</script>

4、得到今天的日期 <script type="text/javascript" language="javascript">//d = new Date(); alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日"); //</script>

6、得到前N天或后N天的日期 方法1: <script type="text/javascript">//function showdate(n) { var uom = new Date(new Date()-0+n*86400000); uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate(); return uom; }

window.alert("今天是:"+showdate(0)); window.alert("昨天是:"+showdate(-1)); window.alert("明天是:"+showdate(1)); window.alert("10天前是:"+showdate(-10)); window.alert("5天后是:"+showdate(5)); //</script>

方法2: <script type="text/javascript">//function showdate(n) { var uom = new Date(); uom.setDate(uom.getDate()+n); uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate(); return uom; }

window.alert("今天是:"+showdate(0)); window.alert("昨天是:"+showdate(-1)); window.alert("明天是:"+showdate(1)); window.alert("10天前是:"+showdate(-10)); window.alert("5天后是:"+showdate(5)); //</script>

方法3: <script type="text/javascript" language="Javascript">//Date.prototype.getDays=function(){ var _newDate=new Date(); _newDate.setMonth(_newDate.getMonth()+1); _newDate.setDate(0); $_days=_newDate.getDate(); delete _newDate; return $_days; } function showdate(n) { var uom = new Date(); uom.setDate(uom.getDate()+n); uom = uom.getFullYear() + "-" + (uom.getMonth()+1) + "-" + uom.getDate()+"\n星期"+('天一二
三四五六'.charAt(uom.getDay()))+"\n本月有"+ uom.getDays()+"天"; return uom; } window.alert("今天是:"+showdate(0)); window.alert("昨天是:"+showdate(-1)); window.alert("明天是:"+showdate(1)); window.alert("10天前是:"+showdate(-10)); window.alert("5天后是:"+showdate(5)); //</script>


转载地址:http://www.cnblogs.com/mrray/archive/2010/11/29/1891276.html