在JavaScript中没有日期类型的数据,但我们在开发的过程中经常需要处理日期,所以在这里我将在这里给展示大家如何用日期对象(Date)来操作日期和时间。
创建日期对象
在JavaScript中,创建日期对象必须使用new语句。使用关键字new新建日期对象时有以下四种方法;
方法一:日期对象 = new Date() 方法二:日期对象 = new Date(日期字串) 方法三:日期对象 = new Date(毫秒) 方法四:日期对象 = new Date(年,月,日[时,分,秒,[毫秒]) |
接下来我们用上述四种方式来创建日期对象。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>日期对象</title> <script> //以当前时间创建一个日期对象 var myDate1 = new Date(); //将字符串转化成日期对象,该对象代表的日期为2020年3月8日 var myDate2 = new Date("March 8,2020"); //将字符串转化成日期对象,该对象代表的日期为2020年3月8日 var myDate3 = new Date("2020/3/8"); //创建一个日期对象,该对象代表的日期和时间为2020年3月8日10时38分46秒 var myDate4 = new Date(2020,3,8,10,38,46); //创建一个日期对象,该对象代表距离2020年1月1日0时0分0秒10000毫秒的时间 var myDate5 = new Date(10000); //分别输出以上日期对象的本地格式 document.write("myDate1 所代表的时间为:"+myDate1.toLocaleString()+"<br>"); document.write("myDate2 所代表的时间为:"+myDate2.toLocaleString()+"<br>"); document.write("myDate3 所代表的时间为:"+myDate3.toLocaleString()+"<br>"); document.write("myDate4 所代表的时间为:"+myDate4.toLocaleString()+"<br>"); document.write("myDate5 所代表的时间为:"+myDate5.toLocaleString()+"<br>"); </script> </head> <body> </body> </html> |
效果:
图1.1创建日期对象
日期对象常用方法的应用
日期对象的方法主要分为三大组:setXxx、getXxx和toXxx。setXxx方法用于设置时间和日期值;getXxx方法用于获取时间和日期;toXxx方法主要是将日期转化成指定格式。
日期对象的常用方法如下表:
图2.1日期对象常用方法的应用
接下来我们就来尝试一下以YYY-MM-DD AM H:M:S 学期X的格式显示日期:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>日期对象</title> <script type="text/javascript"> var now = new Date(); //定义日期对象 //输出自定义的日期格式 document.write("今天是:" + now.toLocaleFormat("%Y-%m-%d %a %H:%M;%S %a")); </script> </head> <body> </body> </html> |
效果:
图2.2自定义日期格式
在这里我们用到了toLocaleFormat()方法;
它是JavaScript1.6新增加的功能,IE、Opera等浏览器都不支持。
日期间的运算
日期数据之间的运算通常包括一个日期对象加上整数年、月、日,以及两个日期对象进行相减运算。
1 日期对象与整数年、月、日相加
日期对象与整数年、月、日相加,需要将它们相加的结果,通过setXxx函数设置成新的日期对象,实现日期对象与整数年、月、日相加,语法格式如下:
date.setData(date.getData()+value) //增加天 date.setMonth(date.getMonth()+value) //增加月 date.setFullYear(date.getFullYear()+value) //增加年 |
2 日期相减
JavaScript允许两个日期对象的相减,相减之后返回的是这两个日期之间的毫秒数。通常我们会将毫秒转化成秒、分、小时、天等。接下来来举例说明一下。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>日期对象</title> <script> var now = new Date(); //定义日期对象 var nationalDay = new Date(2021,1,1,0,0,0); //2021年元旦定义日期对象 var msel = nationalDay-now;//相差的毫秒数 //输出相差时间 document.write("距离2021年元旦还有:"+msel+"毫秒<br>"); document.write("距离2021年元旦还有:"+parseInt(msel/1000)+"秒<br>"); document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60))+"分钟<br>"); document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60*60))+"分钟<br>"); document.write("距离2021年元旦还有:"+parseInt(msel/(1000*60*60*24))+"天<br"); </script> </head> <body> </body> </html> |
效果:
图3.2日期相减
总结
日期是我们在生活中很重要的东西,在做网页或者是其它东西的时候也都少不了日期的,运用JavaScript的日期对象可以做很多事情,比如算算期末考试还有好久,把日期变成自己想要的格式等。对于JavaScript的日期对象和它的一些常用方法要熟练的掌握,才能更好的完成自己的作品和项目。