JavaScript Date对象使用总结


Posted in Javascript onMay 14, 2009

//全局函数
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

Javascript 相关文章推荐
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
Nov 03 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
Apr 12 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
Jan 15 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
深入理解Angularjs中的$resource服务
Dec 31 Javascript
js基于myFocus实现轮播图效果
Feb 14 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
详解原生JS回到顶部
Mar 25 Javascript
js实现多图和单图上传显示
Dec 18 Javascript
vue 使用 canvas 实现手写电子签名
Mar 06 Javascript
Vue如何提升首屏加载速度实例解析
Jun 25 Javascript
jQuery 技巧大全(新手入门篇)
May 12 #Javascript
JS 字符串连接[性能比较]
May 10 #Javascript
javascript获取当前ip的代码
May 10 #Javascript
<script defer> defer 是什么意思
May 10 #Javascript
extjs fckeditor集成代码
May 10 #Javascript
一组JS创建和操作表格的函数集合
May 07 #Javascript
给Function做的OOP扩展
May 07 #Javascript
You might like
PHP网站备份程序代码分享
2011/06/10 PHP
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
2012/02/27 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
详解jQuery事件
2017/01/13 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
python求绝对值的三种方法小结
2019/12/04 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
电气工程及其自动化学生实习自我鉴定
2013/09/19 职场文书
七一党日活动总结
2014/07/08 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
还款承诺书范本
2015/01/20 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers
Python中request的基本使用解决乱码问题
2022/04/12 Python