在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>
|
效果:
图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>
|
效果:
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>
|
效果: