在js的5大基本类型数据中,Date不在其中,因此,我们只能自己new一个Date对象,不能直接用。比如这样:
var today=new Date("2018 8 Aug");
实际上,Date里的时间的格式可以随意书写,因为不同的国家地区习惯存在着差异,但是JavaScript是非常智能的,可以对其进行识别,我们大可放心使用。但是我们书写的时候,肯定不能让机器有所误解,比如说这样的:
var today=new Date("2018 9 8");
var today=new Date("2018 8 9");
这样的表达,机器会认为是什么呢?到底是8月9还是9月8,反正尽量不要让机器产生误解。还有,就是我们的其实是可以默认有时分秒的,只是默认是00:00:00,我们可以打印一下:
var today=new Date("2018 9 8");
document.write((today.toString()));
结果:
Sat Sep 08 2018 00:00:00 GMT+0800 (中国标准时间)
当然,我们也能分别得到单独的年月日时分秒,方法如下:
日:
document.write(today.getDate()+"<br>");
月(为什么需要加1,因为系统默认第1个月是0月):
document.write((today.getMonth()+1);
年:
document.write(today.getFullYear()+"<br>");
这个比较特殊,不能直接getYear(),用getYear()做出来结果是三位数,后面两位数结果是对的。我们可以看下结果:
118
2018
当然也可以通过方法获得时分秒。
基于这个简单的用法,谋生出这个可以不可以做一个简答的月日历的想法,当然实现的结果过于简单,代码如下:
<script type="text/javascript">
var today=new Date("2018 9 8");
document.write((today.getMonth()+1)+"月"+"<br>");
today.setDate(today.getDate()-today.getDate()+1);
for(var i=0;i<31;i++){
if((i)%7==0){
document.write("\n");
}
document.write((i+today.getDate()) + "\t");
}
</script>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31