文档章节

理顺 JavaScript (9) - Date 类

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 1077
阅读 6
收藏 0

常用计时: UTC(世界标准时间)、GMT(格林威治时间)、本地时间.

相关函数纵览
//全局函数
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 

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/02/27/1399573.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)

iOS 时间相关类 NSDate - 表示一个绝对的时间点。 NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历。它提供了一系列基于日期的计算,并且可以让你在"NSDate"和"NSDateComponents"对...

奶爸码农
05/09
0
0
JavaScript中的类型

一、关于类型 什么叫做类型?简单地说,类型就是把内存中的一个二进制序列赋予某种意义。比如,二进制序列0100 0000 0111 0000 0001 0101 0100 1011 1100 0110 1010 0111 1110 1111 1001 11...

长平狐
2013/01/06
56
0
java 私塾课堂笔记——Javascript

java 私塾课堂笔记——Javascript 1:什么是Javascript JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。 2:Java和Javascript的区别 (1)、基于对象和...

luodis
2011/04/27
486
0
JavaScript面向对象技术(一)

看了很多JavaScript的书,但是设计到一些具体的JavaScript问题,书也解决不了问题。 这篇文章是参考<<javascript-the definitive guide,5th edition>>第7,8,9章而写成的,我也会尽量按照原书的...

oecp
2011/04/20
0
2
jquery ajax json数据解析

Services: @RequestMapping(value = "/jsontest") public void getUser(Model model,HttpServletResponse response) throws IOException { List userList = userService.getAll(); String js......

zerohh
2013/04/10
8.7K
4

没有更多内容

加载失败,请刷新页面

加载更多

IOC的学习(1)

1.IOC理论概要 java中,一个对象A怎么才能调用对象B? 当一个对象的构建,需要多个其他对象时,对象和对象有复杂的构建关系。spring帮助我们维系对象的依赖关系,降低系统的实现成本,前提是...

杨健-YJ
16分钟前
0
0
Spring 的 getBean 方法源码解析

文本将从以下几个方面介绍 相关文章 FactoryBean 接口 BeanFactory 接口 BeanFactory 接口 和 FactoryBean 接口的区别 getBean 方法的源码解析 Spring 循环依赖的解决方式 相关文章 Spring 中...

TSMYK
19分钟前
0
0
李鸿章六百多字参倒豪门重臣,晚清第一奏折,藏尽顶级权谋话术!

道光二十七年(1847年),二十四岁的李鸿章高中进士,列二甲第十三名。 在此期间,有桩轶事挺有意思。 会试时,李鸿章的房师为当时的名士孙锵鸣。发榜后,孙锵鸣见自己这一房只考中了李鸿章、...

乔老哥
25分钟前
0
0
PTA-基础编程题目集-7-14 求整数段和

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。 输出格式: 首先顺序输出从A到B的所有整数,每...

niithub
26分钟前
2
0
Spring Qualifier的使用

摘要 spring 的 qualifier 平常使用一般直接是使用id 来限定,不过spring给我们提供了更强大的功能。 使用方法 直接使用 直接在@Qualifier中限定bean的id 在bean上使用@Qualifier来指定后续使...

52iSilence7
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部