`
wsql
  • 浏览: 11776860 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Javascript中Date对象的使用

 
阅读更多

JavaScript 没有一个基本的日期数据类型,所以我们只能显式地创建Date对象。我们创建新的Date对象和创建String对象的方式是一样的,使用关键字newDate构造函数。下面这行创建了一个包含当前日期和实践的Date对象:

var todaysDate = new Date();

为了创建一个存储一个特定日期或时间的Date对象,我们可以简单地把日期或日期与时间放到括号的内面:

var newMillennium = new Date( "1 Jan 2000 10:24:00" );

不同的国家使用不同的顺序来描述日期。举个例子,美国指定的日期格式是MM/DD/YY, 而欧洲的日期格式是DD/MM/YY, 在中国它们的格式是YY/MM/DD。如果你使用简写的名字指定月份,那么你可以以任意的顺序使用:

var someDate = new Date( "10 Jan 2002" );

var someDate = new Date( "Jan 10 2002" );

var someDate = new Date( "2002 10 Jan" );

实际上,Date对象可以拥有许多参数:

var someDate = new Date( aYear, aMonth, aDate,

anHour, aMinute, aSecond, aMillisecond )

要使用这些参数,你首先需要指定年份和月份,然后使用你需要的参数,可是你不得不按顺序逐个使用且不能在它们之间选择。举例来说,你可以指定年份,月份,日期和小时:

var someDate = new Date( 2003, 9, 22, 17 );

可是你不能指定年份,月份,然后指定小时:

var someDate = new Date( 2003, 9, , 17 );

注解: 尽管我们通常认为九月(September)是第9个月份,但是JavaScript0(一月)开始计算月份,因此月份8表示九月

2.1.1.1.1. 使用Date对象

Date对象拥有许多的方法,你可以用来获取或设置一个日期或时间。你可以使用本地时间 (你的电脑所在时区的时间) 或者UTC (全球标准时间,也叫格林威治标准时间)。 虽然这个可能非常有用,你要意识到当你处理Date的时候,许多人们并没有正确的设置他们的时区。让我们看一个例子,它展示了其中的一些方法:

<html>

<body>

<script type="text/javascript">

// Create a new date object

var someDate = new Date( "31 Jan 2003 11:59" );

// Retrieve the first four values using the

// appropriate get methods

document.write( "Minutes = " + someDate.getMinutes() + "<br>" );

document.write( "Year = " + someDate.getFullYear() + "<br>" );

document.write( "Month = " + someDate.getMonth() + "<br>" );

document.write( "Date = " + someDate.getDate() + "<br>" );

// Set the minutes to 34

someDate.setMinutes( 34 );

document.write( "Minutes = " + someDate.getMinutes() + "<br>" );

// Reset the date

someDate.setDate( 32 );

document.write( "Date = " + someDate.getDate() + "<br>" );

document.write( "Month = " + someDate.getMonth() + "<br>" );

</script>

</body>

</html>

下面是你会得到的结果:

Minutes = 59

Year = 2003

Month = 0

Date = 31

Minutes = 34

Date = 1

Month = 1

代码的这一行第一眼看起来可能有点违反常规:

someDate.setDate( 32 );

JavaScript 知道在一月份中没有32天,因此解释器没有试着把日期设置为132日,而是从<chsdate w:st="on" year="2007" month="1" day="1" islunardate="False" isrocdate="False"><span lang="EN-US">1</span>月<span lang="EN-US">1</span>日</chsdate>起数了32天,所以给我们返回了<chsdate w:st="on" year="2007" month="2" day="1" islunardate="False" isrocdate="False"><span lang="EN-US">2</span>月<span lang="EN-US">1</span>日</chsdate>。

这是个非常方便的特性,如果你需要在一个日期上增加一些天数。通常如果我们想在一个日期上增加许多天,我们不得不考虑在不同的月份中的天数,还有是否是一个闰年,但是如果我们使用JavaScript的日期来处理则非常的容易:

<html>

<body>

<script type="text/javascript">

// Ask the user to enter a date string

var originalDate = prompt("Enter a date (Day, Name of

the Month, Year) ", "31 Dec 2003" );

// Overwrite the originalDate variable with a new Date

// object

var originalDate = new Date( originalDate );

// Ask the user to enter the number of days to be

// added, and convert to number

var addDays = Number( prompt( "Enter number of days

to be added", "1" ) )

// Set a new value for originalDate of originalDate

// plus the days to be added

originalDate.setDate( originalDate.getDate( ) + addDays )

// Write out the date held by the originalDate

// object using the toString( ) method

document.write( originalDate.toString( ) )

</script>

</body>

</html>

如果你在提示的时候输入31 Dec 2003(<chsdate w:st="on" year="2003" month="12" day="31" islunardate="False" isrocdate="False">2003<span lang="EN-US"><span lang="EN-US">年12</span></span><span lang="EN-US"><span lang="EN-US">月31</span></span><span lang="EN-US"><span lang="EN-US">日</span></span></chsdate>),还有1作为需要增加的天数,然后你会得到的结果是Thu Jan 1 00:00:00 UTC+0800 2004(星期四,<chsdate w:st="on" year="2004" month="1" day="1" islunardate="False" isrocdate="False"><font face="Times New Roman">2004</font><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">年</span></span><font face="Times New Roman">1</font><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">月</span></span><font face="Times New Roman">1</font><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span lang="EN-US">日</span></span></chsdate>,零点零分零秒)

n 注解: 注意到在这个脚本的第三行中,我们使用了Math对象的Number()方法。如果我们不使用的话程序也能正常运行,但是结果会是不一样的。如果你不希望使用这个方法来转换不同的数据类型,那么有一个小技巧:一个使用parseInt()parseFloat(),或者Number()函数可以转换成数字的字符串,如果你用它减去0,那么你就会把它转换成一个数字,如果你给一个数字上加一个空字符串,‘’,那么你就会把它转换成一个字符串,这个功能通常需要使用toString()来处理。

在代码的第四行中,我们设置日期为originalDate.getDate()返回的值加上需要增加的天数计算出的结果,最后一行使用toString()方法以字符串的形式输出originalDate这个日期对象所包含的日期。如果你正在使用IE5.5以上版本或者以Gecko为基础的浏览器(Mozilla Netscape 6以上版本), 单独使用日期的toDateString()函数会产生一个格式化好的字符串。你可以使用同样的方法获取和设置日期。如果你正在使用UTC时间,所有你需要作的就是把UTC加到这个方法名上。 因此getHours()变为getUTCHours() setMonth()变为setUTCMonth(),以此类推。你也可以使用getTimezoneOffset()方法返回电脑的本地时间和UTC时间的小时差。(你不得不依赖用户已正确设置了它们的时区,并意识到不同国家之间的夏时制差别。

注解:对于严格的日期处理,JavaScript可能并不是最合适的技术,因为你无法信任客户端的电脑都被适当正确地设定了可是你可以使用服务端的语言来构成你的JavaScript脚本中的初始日期,达到同样的目的

分享到:
评论

相关推荐

    JavaScript之Date对象(源代码)

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

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

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

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

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

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

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

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

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

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

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

    Web前端开发技术-JavaScript的内置对象.pptx

    Date对象的使用;JavaScript的内置对象;JavaScript的内置对象;JavaScript的内置对象;JavaScript的内置对象;JavaScript的内置对象;案例讲解;JavaScript的内置对象;JavaScript的内置对象;JavaScript的内置对象;...

    JavaScript程序设计课件:Date对象.pptx

    Date对象 6.4.4 Date对象 1、创建Date对象 Date对象用于处理日期和时间。初始化 Date 对象有 4 种方式: (1)new Date() // 当前日期和时间 (2)new Date(milliseconds) // 返回从 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对象

    Date手册 Date对象的方法分为2种形式:本地时间和UTC时间。同一个方法,一般都会有2种时间格式操作(方法名带UTC的,就是操作UTC时间),我们主要学习本地时间的操作。

    Javascript 日期对象Date扩展

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

    JavaScript 中的 Date 对象

    通过new关键词来定义Date对象当使用上面方法直接创建Date对象时d存储的是当前时间的时间信息 (文档编写时间2020/03/08 10:29) var d = new Date(October 9, 1999 11:00:00); var d = new Date(1999,5,24); ...

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

    简易日历作为javascript中Date对象的常见应用,用途较广泛,本文将详细说明简易日历的实现思路。 效果演示   HTML说明  使用type=number的两个input分别作为年和月的输入控件,这样在高级浏览器下自带调节按钮 ...

    JavaScript Date对象详解

    主要为大家详细介绍了JavaScript Date对象,介绍 Date 日期和时间对象的操作,感兴趣的小伙伴们可以参考一下

    javascript内值对象&浏览器对象 (1).docx

    JavaScript提供多个内建对象,比如String、Date、Array等等,使用对象前先定义,如下使用数组对象:Eg: var objectName =[]; objectName.length; 1、日期对象 (1) 定义一个时间对象 : var myDate=new Date(); ........

    跟我学习javascript的Date对象

    Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。 1.2 属性 无; Date对象对日期和时间的操作只能通过方法。 2. 构造函数 2.1 new Date() :返回当前的本地日期和时间 参数:无 返回值...

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

    使用 getFullYear() 获取年份。 源代码: [removed] &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; ​ &lt;p id=demo&gt;Click the button to display the full year of todays date. ​ &lt;button onclick=myFunction()...

    JavaScript Date对象应用实例分享

    主要分享了JavaScript Date对象应用实例,获取日期时间,倒计时功能实现,限时抢购活动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Global site tag (gtag.js) - Google Analytics