JavaScript Date对象使用总结

//全局函数
Date
//Date 类的静态方法
Date.parse
Date.UTC
//Date 对象的建立方法
new Date()
new Date(毫秒数)
new Date(标准时间格式字符串)
new Date(年, 月, 日, 时, 分, 秒, 毫秒)
//Date 对象的更多方法
getFullYear (getUTCFullYear)
getMonth (getUTCMonth)
getDate (getUTCDate)
getDay (getUTCDay)
getHours (getUTCHours)
getMinutes (getUTCMinutes)
getSeconds (getUTCSeconds)
getMilliseconds (getUTCMilliseconds)
getTime
getTimezoneOffset
setFullYear (setUTCFullYear)
setMonth (setUTCMonth)
setDate (setUTCDate)
setHours (setUTCHours)
setMinutes (setUTCMinutes)
setSeconds (setUTCSeconds)
setMilliseconds (setUTCMilliseconds)
setTime
toDateString
toTimeString
toUTCString
toLocaleString
toLocaleDateString
toLocaleTimeString
toString
valueOf
--------------------------------------------------------------------------------
根据一个或多个数值建立时间对象, 及本地计时与世界标准计时的区别
--------------------------------------------------------------------------------
//先用最容易理解的方式建立一个时间对象
var d = new Date(2009, 2, 27, 12, 59, 59, 999);
alert(d); //Fri Mar 27 12:59:59 UTC+0800 2009
alert(d.toString()); //Fri Mar 27 12:59:59 UTC+0800 2009
alert(d.toUTCString()); //Fri, 27 Mar 2009 04:59:59 UTC
alert(d.toLocaleString()); //2009年3月27日 12:59:59
alert(d.toDateString()); //Fri Mar 27 2009
alert(d.toLocaleDateString()); //2009年3月27日
alert(d.toTimeString()); //12:59:59 UTC+0800
alert(d.toLocaleTimeString()); //12:59:59
/* 时间在计算机中被记为一个整数, 这是从 UTC 时间的 1970-1-1 0:0:0 到此时间的毫秒数 */
alert(d.valueOf()); //1238129999999
alert(d.getTime()); //1238129999999
/* 获取本地时间和世界标准计时的时差 */
alert(d.getTimezoneOffset()); //-480; 单位是分钟, 也就是 8 小时
/* 直接使用时间值(毫秒数, 譬如上面的: 1238129999999)建立时间对象 */
var d = new Date(1238129999999);
alert(d.toLocaleString()); //2009年3月27日 12:59:59
/* 但建立函数有 2-7 个参数时, 将是根据 "年, 月, 日, 时, 分, 秒, 毫秒" 建立时间 */
d = new Date(2009, 2, 27, 12, 59, 59, 999);
alert(d.toLocaleString()); //2009年3月27日 12:59:59
d = new Date(2009, 2, 27, 12, 59, 59);
alert(d.toLocaleString()); //2009年3月27日 12:59:59
d = new Date(2009, 2, 27, 12, 59);
alert(d.toLocaleString()); //2009年3月27日 12:59:00
d = new Date(2009, 2, 27, 12);
alert(d.toLocaleString()); //2009年3月27日 12:00:00
d = new Date(2009, 2, 27);
alert(d.toLocaleString()); //2009年3月27日 0:00:00
d = new Date(2009, 2);
alert(d.toLocaleString()); //2009年3月1日 0:00:00
/* Date 类的静态函数 UTC 的参数也是和上面一样的 2-7 个, 但 UTC 获取的是个 number */
var n = Date.UTC(2009, 0); //这只是获取了那个表示时间的毫秒数
alert(typeof n); //number
var d = new Date(n); //根据刚刚获取的数、重新建立为时间对象
alert(d.toUTCString()); //Thu, 1 Jan 2009 00:00:00 UTC
alert(d.toLocaleString()); //2009年1月1日 8:00:00
--------------------------------------------------------------------------------
无参数建立的时间对象、和用全局函数 Date 获取的时间的区别
--------------------------------------------------------------------------------
var d1 = new Date(); //返回时间对象
var d2 = Date(); //返回时间字符串
alert(d1); //Fri Feb 27 13:20:58 UTC+0800 2009
alert(d2); //Fri Feb 27 13:20:58 2009
alert(d1.valueOf()); //1235712058340
alert(d2.valueOf()); //Fri Feb 27 13:20:58 2009
alert(typeof d1); //object
alert(typeof d2); //string
//明显看出 d2 只是字符串, 它可以使用 String 类的方法, 而不能使用 Date 类的方法.
--------------------------------------------------------------------------------
使用字符串参数建立时间对象
--------------------------------------------------------------------------------
var d;
d = new Date('Fri Mar 27 12:59:59 UTC+0800 2009');
alert(d.toLocaleString()); //2009年3月27日 12:59:59
d = new Date('Fri Mar 27 12:59:59 2009');
alert(d.toLocaleString()); //2009年3月27日 12:59:59
d = new Date('Fri Mar 27 2009');
alert(d.toLocaleString()); //2009年3月27日 0:00:00
d = new Date('Mar 27 2009');
alert(d.toLocaleString()); //2009年3月27日 0:00:00
/* 可使用 Date() 返回的字符串 */
var ts = Date();
d = new Date(ts);
alert(d.toLocaleString()); //2009年3月27日 14:04:38
/* Date 类的静态函数 parse 也是需要一样的字符参数, 不过它返回的是个数字(那个毫秒数) */
var n;
n = Date.parse('Mar 27 2009');
alert(n); //1238083200000
alert(typeof n); //number
d = new Date(n);
alert(d.toLocaleString()); //2009年3月27日 0:00:00
--------------------------------------------------------------------------------
分别获取和设置: 年、月、日、时、分、秒、毫秒, 其中 "星期几" 可获取但不能设置
--------------------------------------------------------------------------------
var d = new Date(2009, 2, 27, 12, 58, 59, 999);
alert(d.toLocaleString()); //2009年3月27日 0:00:00
alert(d.getFullYear()); //2009
alert(d.getMonth()); //2 (从 0 起, 2 指 3 月)
alert(d.getDate()); //27
alert(d.getDay()); //5 (星期五)
alert(d.getHours()); //12
alert(d.getMinutes()); //58
alert(d.getSeconds()); //59
alert(d.getMilliseconds()); //999 (毫秒)
d.setFullYear(2010);
d.setMonth(1);
d.setDate(2);
d.setHours(3);
d.setMinutes(4);
d.setSeconds(5);
d.setMilliseconds(6);
alert(d.toLocaleString()); //2010年2月2日 3:04:05
alert(d.getFullYear()); //2010
alert(d.getMonth()); //1 (从 0 起, 1 指 2 月)
alert(d.getDate()); //2
alert(d.getDay()); //2 (星期二)
alert(d.getHours()); //3
alert(d.getMinutes()); //4
alert(d.getSeconds()); //5
alert(d.getMilliseconds()); //6 (毫秒)
/* 还有一个 setTime */
var d = new Date();
d.setTime(0);
alert(d.toUTCString()); //Thu, 1 Jan 1970 00:00:00 UTC

(0)

相关推荐

  • JavaScript Date对象应用实例分享

    本文实例为大家分享了js Date对象应用3个实例,供大家参考,具体内容如下 一.获取日期时间,秒数实时跳动 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>date01</title> <style> #date{ position: absolute; font-size: 30px; f

  • javascript中IE浏览器不支持NEW DATE()带参数的解决方法

    复制代码 代码如下: var date1=new Date(dateTimes[z][1]); 在火狐下 可以正常取得时间,在IE7下 却是 NaN.纠结老长时间,放弃了new date 然后再老外的论坛中找了一段段代码可以兼容所有浏览器的格式化日期代码: 复制代码 代码如下: function NewDate(str) { str = str.split('-'); var date = new Date(); date.setUTCFullYear(str[0], str[1] - 1, s

  • javascript中Date format(js日期格式化)方法小结

    本文实例总结了javascript中日期格式化的方法.分享给大家供大家参考,具体如下: 方法一: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 200

  • JS简单实现String转Date的方法

    本文实例讲述了JS简单实现String转Date的方法.分享给大家供大家参考,具体如下: <script> var s=["2008-8-1","2009/9/2","10/3/2010"]; for(var i=0;i<s.length;i++){ var d = string2date(s[i]); var year = d.getFullYear(); var month = d.getMonth()+1; var dat

  • js通过Date对象实现倒计时动画效果

    js通过Date对象实现倒计时效果,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>倒计时动画</title> <style> div{ text-align:center; height:100px; line-height:100px; } </style> &l

  • 关于js new Date() 出现NaN 的分析

    此NaN不为NaN: 程序代码如下: 复制代码 代码如下: var date =new Date(d); if(!date || !date.getFullYear) { return; } return S.Date.format(d,'yyyy-mm-dd');//格式化函数,跟此文无关 在其他浏览器下正常,但是在ie下,程序报错 在ie调试器下,发现date 为NaN,如图: 如果是NaN,那么if判断会返回true,会 return "",但是诡异的一幕发生了, 代码说明if判

  • js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: 创建一个日期对象: var objDate=new Date([arguments list]); 参数形式有以下5种: 复制代码 代码如下: view plainnew Date("month dd,yyyy hh:mm:ss");

  • 关于js datetime的那点事

    复制代码 代码如下: //把一个日期字符串如"2007-2-28 10:18:30"转换为Date对象 var strArray=str.split(" "); var strDate=strArray[0].split("-"); var strTime=strArray[1].split(":"); var a=new Date(strDate[0],(strDate[1]-parseInt(1)),strDate[2],

  • js实现的日期操作类DateTime函数代码

    方法注解: 将指定的天数加到此实例的值上. 将指定的小时数加到此实例的值上. 将指定的分钟数加到此实例的值上. 将指定的毫秒数加到此实例的值上. 将指定的月份数加到此实例的值上. 将指定的秒数加到此实例的值上. 将指定的年份数加到此实例的值上. 将此实例的值与指定的 Date 值相比较,并指示此实例是早于.等于还是晚于指定的 Date 值. 返回一个数值相同的新DateTime对象 返回一个值,该值指示此实例是否与指定的 DateTime 实例相等. 获取此实例的日期部分. 获取此实例所表示的日

  • JS中Date日期函数中的参数使用介绍

    要创建一个一个日期对象,可以使用以下的方式: 复制代码 代码如下: var now=new Date() 当然,函数中没有传递任何参数,表示此对象now自动获取了当前的时间. 如果想要创建一个自定义时间的对象,则要对Date()进行参数的传递.而这个参数,必须是毫秒数(UTC时间1970年1月1日午夜起至自定义时间为止的毫秒数). 我们可以使用Date.parse()和Date.UTC()来获得自定义时间的毫秒数. Date.parse()接收一个表示日期的字符串参数,例如"May 25,201

随机推荐