对于开发人员来说,Date有时候或许会很重要,我们可以通过new Date()来创建一个日期对象。例如:

var start = new Date(), //获取当前时间
today = new Date(2013,6,6), //2013-7-6
tommorow = new Date('2013-7-7'); //2013-7-7
 

一般来说,上面的代码应该是很常见,也没什么特殊的需要注意的地方,唯一一点就是:

new Date(2013,6,6);   //参数中的第二个,也就是月份需要加1
new Date('2013-7-6'); //参数中的月份不需要加1
 

有时候,我们或许想知道一个月第一天的前面一天是多少号,比如我想知道2013年3月1日前面的那一天是多少号,这样的话,或许会去写一些判断之类的语句,但是这个我们可以更轻松的用Date来计算:

var pre = new Date(2013,2,0);

上面的结果是2013年2月28日,我们不需要额外的写其他代码来确定。当然,我们也可以先创建一个时间,然后设置他的日期,比如:

var pre = new Date(2013,2,1);
pre.toLocaleString(); //"3/1/2013 12:00:00 AM"
pre.setDate(pre.getDate() - 1);
pre.toLocaleString(); //"2/28/2013 12:00:00 AM"
 

上面的代码可以实现我们需要的功能,获取正确的结果,只不过在我看来还不是最好的方法。

当第三个参数我们传递0的时候,表示上一个月的最后一天,也就是这个月第一天的前一天,那么传递的为负数,或者超过了这个月的最大天数会是什么情况呢?先看看下面的代码:

var d0 = new Date(2013,6,0),  //2013-6-30
d1 = new Date(2013,6,-1), //2013-6-29
d2 = new Date(2013,6,-2), //2013-6-28 d3 = new Date(2013,6,32), //2013-8-1
d4 = new Date(2013,6,33); //2013-8-2
 

可见,如果超出正常范围,都会往前后顺延。

此外,如果我们不确定这一个月到底有多少天,我们只想在这个月末尾的基础上加几天,我们就得通过设置时间来实现了:

var pre = new Date(2013,6,6);
pre.toLocaleString(); //"7/6/2013 12:00:00 AM"
pre.setDate(pre.getDate() + 30);
pre.toLocaleString(); //"8/5/2013 12:00:00 AM"
 

总结:日期在开发中还是很常见的,以前都没有注意到上面的这一些细节的东西,如果了解了这些细节,或许能让程序更精简,更简单。

转自;http://www.sanjh.cn/javascript-date-xi-jie.html

JavaScript中Date的一些细节的更多相关文章

  1. javascript中Date对象的应用——简易日历的实现

    × 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 ...

  2. javascript中Date对象的应用

    前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入 ...

  3. Javascript中Date对象的格式化

    很多语言中都带有日期的格式化函数,而Javascript中却没有提供类似的方法.之前从某位前人的帖子中发现了下面的代码,感觉非常简洁,存留备用. /** * 时间对象的格式化; */ Date.pro ...

  4. JavaScript中date 对象常用方法

    Date 对象 Date 对象用于处理日期和时间. //创建 Date 对象的语法: var datetime = new Date();//Date 对象会自动把当前日期和时间保存为其初始值. co ...

  5. javascript中Date使用

    <script type="text/javascript">    //返回当前日期和时间        var newDate=new Date();        ...

  6. JavaScript中Date(日期对象),Math对象--学习笔记

    Date对象 1.什么是Date对象? 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 语法:var Udate=new Date();  注:初始值为当前时间(当前电脑系统 ...

  7. javascript中Date常用方法

    一.Date的构造函数 有四种形式的Date构造函数: //1.构造函数没有参数,则返回当前日期的Date对象 var now=new Date(); //2.构造函数的参数为日期的毫秒数,返回距离1 ...

  8. javascript中Date对象复习

    js的Date对象不怎么经常用,所以忘得差不多,复习一下 1.声明一个Date对象,默认本地当前时间 var date = new Date();//Fri Apr 28 2017 14:26:19 ...

  9. javascript中Date使用总结(转)

    //全局函数 Date //Date 类的静态方法 Date.parse Date.UTC //Date 对象的建立方法 new Date() new Date(毫秒数) new Date(标准时间格 ...

随机推荐

  1. 笔试——JAVA相关

    1. String 和 StringBuffer 的区别(转自http://pengcqu.iteye.com/blog/487538) Java笔试题经常考到“String和StringBuffer ...

  2. OpenGL的几何变换4之内观察全景图

    上一次写了OpenGL的几何变换3之内观察全景图 上次采用的是图片分割化方式,这次采用数据分割化方式. 先说下思路,数据分割化方式呢,是只读取一张图片imgData,然后通过glTexCoord2f( ...

  3. ubuntu sudo apt-get update 失败 解决方法

    sudo apt-get update 报了一堆错误: Err http://cn.archive.ubuntu.com trusty InRelease Err http://cn.archive. ...

  4. 转 java 类 单例

    转 单例概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一 ...

  5. android UI库

    https://github.com/wasabeef/awesome-android-ui List of Android UI/UX Libraries A curated list of awe ...

  6. js用ajax和不同页面的php互相传值的方法

    js里的代码:<script> var json; //获取所有class名为zhi的标签 var zhi = document.getElementsByClassName('zhi') ...

  7. 在线读取Mongodb数据库下载EXCEL文件

    版本:Mongodb2.4.8 通过页面下载Excel文件 jsp <%@ page language="java" contentType="text/html; ...

  8. jmeter笔记2

    使用jmeter它来完成最常用的三种类型服务器,即 Web 服务器.数据库服务器和消息中间件,压力测试的方法.步骤以及注意事项. 讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测 ...

  9. 《Java程序设计》实验五 实验报告

    实验五 java网络编程 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2. ...

  10. 学习HTML5之新特性标签一览(详细)

    HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...