`

js中Date对象

阅读更多
在js中,Date对象用来处理日期和时间。可以达到获取当前日期和时间的目的。也可以达到存储日期时间,计算日期和时间的目的。
Date对象包含大量的方法和应用。首先介绍一些简单的方法和应用:
1.创建Date对象
创建Date对象一共有四中方法。
第一种方法如下:
var mydate = new Date();

此语句的运行结果是当前pc机的日期和时间,即把当前时间设置为了初始值。
注意大小写的问题。
创建Date对象的第二种方法:
var mydate1 = new Date(949278000000);

Mon Jan 31 2000 08:20:00 GMT+0800 (CST),这个是此语句的执行结果,即日期是GMT2000年1月31日的午夜后20分钟。
该语句中949278000000,的含义是从GMT1970年1月1日00:00:00开始所经过的毫秒数。显而易见,第二种方法有多麻烦。所以一般不采用第二种方法来创建时间。
创建对象的第三种方法:
var mydate2 = new Date( ‘1 January 2017’)

执行结果是:2017年1月1日。其中January可以简写成:Jan;另外1,January,2017的月和日可以随意调换位置。最好月份用英文名称来表示从而避免识别错误造成的混乱。
第四种方法是:
var mydate3 = new Date(2017,0,1,1,1,1,1,1);

运行结果是:2017年1月1日1时1分1秒1毫秒。
如果把时间忽略的话也可以只定义日期部分。
另外一月是用数字0来表示的。而十二月是用数字11来表示的。
2.Date对象的属性
Date对象包括两种属性:
constructor属性 返回对创建此对象的 Date 函数的引用。
prototype属性 使您有能力向对象添加属性和方法。
3.Date对象的方法
Date对象有很多种方法。其中比较简单的方法或者说基本的方法有:
getDate()     返回值是:月份中的第几天;
getDay()      返回值是:表示星期几的整数,其中0表示星期日,1表示星期1,以此类推;
getMonth()   返回值是:表示月份的整数,其中0表示的是1月,其它的以此类推;
getFullYear() 返回值是:以4位数表示的年份;
toDateString()返回值是:基于当前时区,返回一个人们便于阅读的完整日期字符串;
以上这些基本语句是用来获得时间的。那么想要设置时间如何来做呢?
setDate()    返回值是:月中的某一天作为参数并传入,用来设置日期;
setMonth()   返回值是:年中的某一月作为整数参数传入,0代表1月,1代表2月,以此类推;
setFullYear() 返回值是:把年份设置为作为参数传入的4位整数。
这些是比较基本的来设置Date的方法。set与get方法相对应,不过一个用来获取,一个用来设置日期值而已。
需要注意的是:在基于web的js是不能修改用户计算机上的日期和时间的。
var myDate=new Date();
myDate.setFullYear(2000);
myDate.setDate(27);
myDate.setMonth(2);
console.log(myDate);

输出结果是:Mon Mar 27 2000 08:59:41 GMT+0800 (CST);
但是需要注意的是:set方法并没有getDay()相对应的方法。因为当确定年月日之后,会自动确定设置星期几。
4.Date对象的计算
例如:
 var myDate = new Date('1 Jan 2017');
myDate.setDate(33);
console.log(myDate);

此句的执行结果是:Thu Feb 02 2017 00:00:00 GMT+0800 (CST)
当初次看到这里的时候,会有一些疑惑。为什么月中的日可以设置成33?但是1月并没有33号。当有执行结果之后或许会明白一点。setDate()中的数字,是原Date的日子加上33天。也就是2017年1月1号之后的33天。所以日期就变成了2017年2月2号。

当然此类的方法也可以成功应用在setMonth()上面。
前面是一个小小的坑:
如果要把日期设置成今天后的第33天,按照上述的方法代码应该如下:
 var myDate = new Date();
myDate.setDate(33);
console.log(myDate);

但是它的执行结果是:Sun Apr 02 2017 09:27:40 GMT+0800 (CST)(我现在的时间是2017年3月20号上午九点二十七分四十秒),很奇怪,为什么不是4月22号呢?
var myDate = new Date();
var currentDay=myDate.getDate();
myDate.setDate(currentDay+33);
console.log(myDate);

如果把代码改成这样,就可以达到想要的目的。这是因为在使用setDate()的时候,如果传入的值大于当月的天数,就会从当月的第一天算起往后计算天数。所以第一个代码的执行结果是四月2号而不是四月22号。如果想要计算当天之后的多少天,最好按照第二种写法,这样可以避免一些错误。当然这一点在setMonth()中也是要注意的。
如果想要获取当前日期的前多少天。myDate.setDate(currentDay+33)需要把加号改成减号在写上天数就可以了。不过一般为负值。
5.获得时间值
其实时间的获取和日期的获取有相同的地方。
getHours();
getMinutes();
getSeconds();
getMilliseconds();
toTimeString();

上述的方法分别获取的是:时,分,秒,毫秒,整个时间。时间的制式是二十四小时的。
需要注意的是:有一个格式化的问题:
在使用
getMinutes();
getseconds();

在使用这两个的时候,如果时间是10点1分的话。在网页上应该显示的是:10:01;
但是实际使用获取方法时得到的却是:10:1;怎么把这个格式进行统一呢?
var nowDate = new Date();
var nowMinute = nowDate.getMinutes();
var nowSecond = nowDate.getSeconds();
if(nowMinute < 10){
   nowMinute = '0' + nowMinute;
}
if(nowSecond < 10){
    nowSecond = '0' + nowSecond;
}

这样以来就能把整个时间的格式进行统一了。
6.设置时间的值
setHours();
setMinutes();
setSeconds();
setMilliseconds();

设置时间的时候与设置日期的方法是类似的。同样,设置日期需要注意的,在设置时间是、时同样需要注意。当你为一个时间的分钟数设置成66,它会自动使时间加1,分钟数为:66-60;如果设置的小时数为:23,分钟数为:61的话,就会自动滚向下一天的零点,分钟数为61-60.
7.获取世界时间
toUTCString();
toLocaleString();

根据UTC或者本地时间把Date对象中保存的日期和时间返回为一个字符串。
对于时间而言有:
toLocaleTimeString();
toLocaleDatestring();

分别是获取当地时间和获取当地的日期时间。
另外如果计算本地时间和UTC时间的差值,可以使用以下语句:
getTimezoneOffset()

当然对于某些国家和某些地区而言,会有夏令时这个神奇的东西存在。




























分享到:
评论

相关推荐

    JavaScript之Date对象(源代码)

    JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象...

    javascript中Date对象的使用总结.docx

    ### JavaScript中Date对象的使用总结 #### 概述 JavaScript 的 `Date` 对象用于处理日期和时间。本文档详细介绍了 `Date` 对象的基本使用方法及其提供的多种实用功能,帮助开发者更好地理解和应用这一核心对象。 ...

    javascript中Date对象应用之简易日历实现_.docx

    ### JavaScript中Date对象应用之简易日历实现 #### 前言 简易日历作为JavaScript中Date对象的一个典型应用场景,在日常开发中具有重要的实用价值。本文将详细介绍如何使用JavaScript中的Date对象来实现一个简易的...

    javascript中Date对象的getDay方法使用指南.docx

    ### JavaScript中Date对象的getDay方法使用指南 #### 一、getDay方法简介 在JavaScript中,`Date`对象提供了一系列的方法用于处理日期和时间。其中`getDay()`方法是其中一个非常实用的功能,它用于获取指定日期是...

    javascript中Date对象应用之简易日历实现.docx

    javascript中Date对象应用之简易日历实现.docx

    javascript中Date对象的getDay方法使用指南

    Date对象有个getDay方法,它根据本地时间,返回一个具体日期中一周的第几天。返回值从0~6,分别对应周日~周六 getDay 0 1 2 3 4 5 6 星期几 周日 周一 周二 周三 周四 周五 周六 用到日期相关的需求时...

    原生JS:Date对象全面解析

    原生JavaScript中的Date对象是一个非常重要的内置对象,它提供了多种处理日期和时间的方法。本文将详细解析Date对象的构造函数用法、日期时间的表示以及一些相关的静态方法。 首先,Date对象是基于1970年1月1日...

    JavaScript 中Date对象的格式化代码方法汇总

    很多时候,我们可以利用JavaScript中Date对象的内置方法来格式化,如: var d = new Date(); console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间) console.log(d.toDateString()); // 日期...

    跟我学习javascript的Date对象

    JavaScript中的Date对象是用于处理日期和时间的核心组件。在JavaScript中,Date对象提供了一系列的方法来创建、修改和读取日期和时间。这篇文章将深入探讨Date对象的各个方面,帮助你更好地理解和应用这个对象。 1....

    JavaScript中的Date对象

    JavaScript中的Date对象是用于处理日期和时间的核心构造函数,提供了丰富的功能来创建、操作和格式化日期。在JavaScript中,Date对象的方法分为两种主要类型:本地时间和UTC(通用协调时)时间。本地时间指的是根据...

    js处理java后台传过来的date对象并转换成指定格式的字符串

    js处理java后台传过来的date对象并转换成指定格式的字符串,亲测可用

    javascript中Date对象的使用总结

    - Date.getMonth()方法返回Date对象中的月份,注意JavaScript中的月份是从0开始计数的,即1月为0,12月为11。 - Date.getSeconds()方法返回Date对象中的秒数。 - Date.getTime()方法返回一个表示时间的数字,以自...

    关于js的Date对象的有用扩展

    JavaScript中的Date对象是用于处理日期和时间的核心内置对象。它提供了丰富的功能,允许开发者创建、操作和格式化日期。在“关于js的Date对象的有用扩展”中,我们可以看到一些额外的功能或方法,可能是对原生Date...

    JavaScript中Date对象的常用方法示例

    &lt;p id=demo&gt;Click the button to display the full year of todays date. ​ &lt;button onclick=myFunction()&gt;Try it&lt;/button&gt; ​ [removed] function myFunction() { var d = new Date(); var x = ...

    Javascript 日期对象Date扩展

    Date对象扩展,包括常用中文日期格式解析、加减操作、日期差、周操作和季操作。具体扩展的方法如下: parseCHS--静态方法。解析常用的中文日期并返回日期对象。 add--日期加减操作。[注:此函数在上传时还存在...

    js date转String 日期字符串转换

    ### JavaScript Date对象转换为字符串 在JavaScript中,`Date`对象提供了多种方法来获取和设置日期及时间。本文将详细介绍如何将`Date`对象转换成字符串格式,这对于数据展示、存储以及传输等场景非常有用。 #### ...

Global site tag (gtag.js) - Google Analytics