文档章节

理顺 JavaScript (9) - Date 类

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 1077
阅读 6
收藏 0
点赞 0
评论 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面向对象技术(一)

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

oecp
2011/04/20
0
2
细说JavaScript数据类型及转换

细说JavaScript数据类型及转换 JavaScript数据类型 1.Boolean(布尔) 布尔:(值类型)var b1=true;//布尔类型 2.Number(数字) 数值:(值类型)var n1=3.1415926;//数值类型 n1.toFixed...

开元中国2015
2015/07/13
0
0
JavaScript 学习(1)

参考资料:http://www.w3school.com.cn/js/index.asp 额,发现 http://www.w3cschool.cc 这里的资料似乎比上面那个更新鲜一些... 一、教程 js是一种轻量级的编程语言,可插入html页面中,并由...

明天以后
2014/09/30
0
0
javascript中对象方法

将对象转换成字符串时: 1.调用对象的toString()方法,将对象转换成返回的字符串,如果方法返回其它基本数据类型,则会自动转换成字符串; 2.如果对象没有toString()方法,或方法返回的不是基...

闵开慧
2013/02/17
0
0
Dojo学习11 dojo类属性查看工具

dojo类属性查看工具 有的时候查询一个类的方法,属性比较费事,还得看源代码,而且,有的是继承类,需要看不止一个源代码。今天我写了一个dojo的属性查看器,能够方便的查看一个类的所有属性...

元来元去
2010/11/02
0
0
JavaScript学习记录day9-标准对象

JavaScript学习记录day9-标准对象 [TOC] 在JavaScript的世界里,一切都是对象。 但是某些对象还是和其他对象不太一样。为了区分对象的类型,我们用操作符获取对象的类型,它总是返回一个字符...

ygqygq2
06/11
0
0
springmvc+uploadify3.2.1完整代码示例,java,jsp

前台页面: 引入js和css<script type="text/javascript" src="${STATICFILEPATH}/js/jquery/jquery-1.10.js${STATICFILEVERSION}"></script> <link type="text/css" rel="stylesheet" href=......

满风
2014/10/15
0
6
浅析 Cordova for iOS

发表于 2013-05-16 | 分类于 编程技术 | Cordova,对这个名字大家可能比较陌生,大家肯定听过 PhoneGap 这个名字,Cordova 就是 PhoneGap 被 Adobe 收购后所改的名字。 Cordova 是一个可以让...

Michaelyn
2017/10/23
0
0
Javascript中Date对象的使用

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

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android Studio 3.0 之后打包apk出现应用未安装问题

1、废话 出现这个问题的原因,并不是只有一个,而是有多个原因,不懂的估计会被搞得一头雾水,下面我列举的是我遇到的几种问题和网友遇到的几种问题,但不一定是全部,也有可能有些莫名其妙的...

她叫我小渝
27分钟前
0
0
前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
7
0
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
今天
0
0
linux mint 1.9 qq 安装

转: https://www.jianshu.com/p/cdc3d03c144d 1. 下载 qq 轻聊版,可在百度搜索后下载 QQ7.9Light.exe 2. 去wine的官网(https://wiki.winehq.org/Ubuntu) 安装 wine . 提醒网页可以切换成中...

Canaan_
今天
0
0
PHP后台运行命令并管理运行程序

php后台运行命令并管理后台运行程序 class ProcessModel{ private $pid; private $command; private $resultToFile = ''; public function __construct($cl=false){......

colin_86
今天
1
0
数据结构与算法4

在此程序中,HighArray类中的find()方法用数据项的值作为参数传递,它的返回值决定是否找到此数据项。 insert()方法向数组下一个空位置放置一个新的数据项。一个名为nElems的字段跟踪记录着...

沉迷于编程的小菜菜
今天
1
1
fiddler安装和基本使用以及代理设置

项目需求 由于开发过程中客户端和服务器数据交互非常频繁,有时候服务端需要知道客户端调用接口传了哪些参数过来,这个时候就需要一个工具可以监听这些接口请求参数,已经接口的响应的数据,这种...

银装素裹
今天
0
0
Python分析《我不是药神》豆瓣评论

读取 Mongo 中的短评数据,进行中文分词 对分词结果取 Top50 生成词云 生成词云效果 看来网上关于 我不是药神 vs 达拉斯 的争论很热啊。关于词频统计就这些,代码中也会完成一些其它的分析任...

猫咪编程
今天
0
0
虚拟机怎么安装vmware tools

https://blog.csdn.net/tjcwt2011/article/details/72638977

AndyZhouX
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部