Date函数

new Date()

Date 对象会自动把当前日期和时间保存为其初始值。

date.getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

date.getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。

date.getMonth()

从 Date 对象返回月份 (0 ~ 11)。

date.getFullYear()

从 Date 对象以四位数字返回年份

date.getHours()

返回 Date 对象的小时 (0 ~ 23)。

date.getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

date.getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

date.getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

date.getTime()

返回 1970 年 1 月 1 日至今的毫秒数。

date.getTimezoneOffset()

返回格林威治时间(GMT 或 UTC)和本地时间之间的时差,以分钟为单位。返回之所以以分钟计,而不是以小时计,原因是某些

国家所占有的时区甚至不到一个小时的间隔。

date.getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

date.getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。周日是0。

date.getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。

date.getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。

date.getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。

date.getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。

date.getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

date.getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。

Date.parse(string)

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

date.setDate(int)

设置 Date 对象中月的某一天 (1 ~ 31)。返回调整过的日期的毫秒表示。

date.setMonth(month[, day])

设置 Date 对象中月份 (0 ~ 11)。day参数可选,表示该月的某一天介于 1 ~ 31 之间。

date.setFullYear(year[, month, day])

设置 Date 对象中的年份(四位数字)。month参数可选,表示月份介于 0 ~ 11 之间。day参数可选,表示该月的某一天介于 1 ~ 31 之间。

date.setHours(hours[, minutes, seconds, milliseconds])

设置 Date 对象中的小时 (0 ~ 23)。minutes参数可选,表示分钟数介于 0 ~ 59 之间。seconds参数可选,表示分钟数介于 0

~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setMinutes(minutes[, seconds, milliseconds])

设置 Date 对象中的分钟 (0 ~ 59)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setSeconds(seconds[, milliseconds])

设置 Date 对象中的秒钟 (0 ~ 59)。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setMilliseconds(int)

设置 Date 对象中的毫秒 (0 ~ 999)。

date.setTime(long)

设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。以毫秒形式表示日期可以使它独立于时区。

date.setUTCDate(int)

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

date.setUTCMonth(minutes[, seconds, milliseconds])

根据世界时设置 Date 对象中的月份 (0 ~ 11)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表

示分钟数介于 0 ~ 999 之间。

date.setUTCFullYear(year[, month, day])

根据世界时设置 Date 对象中的年份(四位数字)。month参数可选,表示月份介于 0 ~ 11 之间。day参数可选,表示该月的

某一天介于 1 ~ 31 之间。

date.setUTCHours(hours[, minutes, seconds, milliseconds])

根据世界时设置 Date 对象中的小时 (0 ~ 23)。minutes参数可选,表示分钟数介于 0 ~ 59 之间。seconds参数可选,表示分

钟数介于 0 ~ 59 之间。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setUTCMinutes(minutes[, seconds, milliseconds])

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。seconds参数可选,表示分钟数介于 0 ~ 59 之间。milliseconds参数可选,表

示分钟数介于 0 ~ 999 之间。

date.setUTCSeconds(seconds[, milliseconds])

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。milliseconds参数可选,表示分钟数介于 0 ~ 999 之间。

date.setUTCMilliseconds(int)

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

date.toString()

把 Date 对象转换为字符串。

date.toTimeString()

把 Date 对象的时间部分转换为字符串。

date.toDateString()

把 Date 对象的日期部分转换为字符串。

date.toUTCString()

根据世界时,把 Date 对象转换为字符串。

date.toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。

date.toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。

date.toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。

Date.UTC(year,month,day[,hour,minute,second,milliseconds])

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。年月日必填,时分秒毫秒都是选填的。

date.valueOf()

返回 Date 对象的原始值。与 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒数。

body {

font-size:14px;

}

function write(name, value) {

document.write(name + " = " + value + "
");

}

var date = new Date();//Date 对象会自动把当前日期和时间保存为其初始值。

write("new Date()", date);

write("date.getDate()", date.getDate());//从 Date 对象返回一个月中的某一天 (1 ~ 31)。

write("date.getDay()", date.getDay());//从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。

write("date.getMonth()", date.getMonth());//从 Date 对象返回月份 (0 ~ 11)。

write("date.getFullYear()", date.getFullYear());//从 Date 对象以四位数字返回年份。

write("date.getHours()", date.getHours());//返回 Date 对象的小时 (0 ~ 23)。

write("date.getMinutes()", date.getMinutes());//返回 Date 对象的分钟 (0 ~ 59)。

write("date.getSeconds()", date.getSeconds());//返回 Date 对象的秒数 (0 ~ 59)。

write("date.getMilliseconds()", date.getMilliseconds());//返回 Date 对象的毫秒(0 ~ 999)。

write("date.getTime()", date.getTime());//返回 1970 年 1 月 1 日至今的毫秒数。

write("date.getTimezoneOffset()/60", date.getTimezoneOffset()/60);//返回格林威治时间(GMT 或 UTC)和本地时间之间的时差,以分钟为单位。返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。

write("date.getUTCDate()", date.getUTCDate());//根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

write("date.getUTCDay()", date.getUTCDay());//根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。周日是0。

write("date.getUTCMonth()", date.getUTCMonth());//根据世界时从 Date 对象返回月份 (0 ~ 11)。

write("date.getUTCFullYear()", date.getUTCFullYear());//根据世界时从 Date 对象返回四位数的年份。

write("date.getUTCHours()", date.getUTCHours());//根据世界时返回 Date 对象的小时 (0 ~ 23)。

write("date.getUTCMinutes()", date.getUTCMinutes());//根据世界时返回 Date 对象的分钟 (0 ~ 59)。

write("date.getUTCSeconds()", date.getUTCSeconds());//根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

write("date.getUTCMilliseconds()", date.getUTCMilliseconds());//根据世界时返回 Date 对象的毫秒(0 ~ 999)。

write("Date.parse(string)", Date.parse(date.toString()));//返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

write("date.setDate(int)", date.setDate(1));//设置 Date 对象中月的某一天 (1 ~ 31)。返回调整过的日期的毫秒表示。

write("date.setMonth(int)", date.setMonth(0));//设置 Date 对象中月份 (0 ~ 11)。

write("date.setFullYear(int)", date.setFullYear(2017));//设置 Date 对象中的年份(四位数字)。

write("date.setHours(int)", date.setHours(0));//设置 Date 对象中的小时 (0 ~ 23)。

write("date.setMinutes(int)", date.setMinutes(0));//设置 Date 对象中的分钟 (0 ~ 59)。

write("date.setSeconds(int)", date.setSeconds(0));//设置 Date 对象中的秒钟 (0 ~ 59)。

write("date.setMilliseconds(int)", date.setMilliseconds(0));//设置 Date 对象中的毫秒 (0 ~ 999)。

write("date.setTime(long)", date.setTime(Date.UTC(2017,0,1)));//设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。以毫秒形式表示日期可以使它独立于时区。

write("date.setUTCDate(int)", date.setUTCDate(1));//根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

write("date.setUTCMonth(int)", date.setUTCMonth(0));//根据世界时设置 Date 对象中的月份 (0 ~ 11)。

write("date.setUTCFullYear(int)", date.setUTCFullYear(2017));//根据世界时设置 Date 对象中的年份(四位数字)。

write("date.setUTCHours(int)", date.setUTCHours(0));//根据世界时设置 Date 对象中的小时 (0 ~ 23)。

write("date.setUTCMinutes(int)", date.setUTCMinutes(0));//根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

write("date.setUTCSeconds(int)", date.setUTCSeconds(0));//根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

write("date.setUTCMilliseconds(long)", date.setUTCMilliseconds(0));//根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

write("date.toString()", date.toString());//把 Date 对象转换为字符串。

write("date.toTimeString()", date.toTimeString());//把 Date 对象的时间部分转换为字符串。

write("date.toDateString()", date.toDateString());//把 Date 对象的日期部分转换为字符串。

write("date.toUTCString()", date.toUTCString());//根据世界时,把 Date 对象转换为字符串。

write("date.toLocaleString()", date.toLocaleString());//根据本地时间格式,把 Date 对象转换为字符串。

write("date.toLocaleTimeString()", date.toLocaleTimeString());//根据本地时间格式,把 Date 对象的时间部分转换为字符串。

write("date.toLocaleDateString()", date.toLocaleDateString());//根据本地时间格式,把 Date 对象的日期部分转换为字符串。

write("Date.UTC(year,month,day[,hour,minute,second,milliseconds])", Date.UTC(2017,0,1,0,0,0));//根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。年月日必填,时分秒毫秒都是选填的。

write("date.valueOf()", date.valueOf());//返回 Date 对象的原始值。与 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒数。

格式化Date

由于JS本身并不提供格式化日期的函数。因此必须借助prototype属性来添加自定义的日期格式化方法。

/*

年(y)可以用 1-4 个占位符

月(M)、日(d)、时(H,24时)、时(h,12时)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符

毫秒(S)只能用 1 个占位符(是 1-3 位数字)

AM或PM只能用 1 个占位符(是 2 位英文)

上午或下午(T)只能用 1 个占位符(是 2 位中文)

星期(E)可以用 1-3 个占位符

季度(q)只能用 1 个占位符(是 1 位数字)

*/

Date.prototype.format = function(fmt) {

var map = {

"M+" : this.getMonth() + 1, //月

"d+" : this.getDate(), //日

"H+" : this.getHours(), //24时

/*

上午12时只代表当天上午的12时,下午的12时代表当天下午的12时,

0时代表第二天的开始,即前面一天12时已过0时开始计算新一天的时间,

虽然说时间上跟前面那一天下午12时重合,但日期已经发生更改,所以不能说0时就是12时

*/

"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12,//12时

"m+" : this.getMinutes(), //分

"s+" : this.getSeconds(), //秒

"S" : this.getMilliseconds(), //毫秒

"t" : this.getHours() < 12 ? "AM" : "PM",

"T" : this.getHours() < 12 ? "上午" : "下午",

};

var week = {

"0" : "日",

"1" : "一",

"2" : "二",

"3" : "三",

"4" : "四",

"5" : "五",

"6" : "六",

}

var quarter = {

"0" : "一",

"1" : "二",

"2" : "三",

"3" : "四",

}

if(/(y+)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));

}

if(/(E+)/.test(fmt)) {

var weekPreStr;

switch(RegExp.$1.length) {

case 1:

weekPreStr = "";

break;

case 2:

weekPreStr = "周";

break;

default:

weekPreStr = "星期";

break;

}

fmt = fmt.replace(RegExp.$1, weekPreStr + week[this.getDay()]);

}

if(/(q)/.test(fmt)) {

fmt = fmt.replace(RegExp.$1, quarter[Math.floor(this.getMonth() / 3)]);

}

for(var key in map) {

if(new RegExp("(" + key + ")").test(fmt)) {

fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? map[key] : ("00" + map[key]).substr((map[key]+"").length));

}

}

return fmt;

}

function write(str) {

document.write(str + "
");

}

var date = new Date();

write(date.toString());

write(date.toUTCString());

write(date.toLocaleString());

write("");

write(date.format("yy-M-d t h:m:s.S"));

write(date.format("yyyy-MM-dd hh:mm:ss.S"));

write(date.format("yyyy-MM-dd E HH:mm:ss"));

write(date.format("yyyy-MM-dd EE hh:mm:ss"));

write(date.format("yyyy-MM-dd EEE hh:mm:ss"));

write(date.format("yyyy年MM月dd日 EEE hh:mm:ss 第q季度"));

对Date设置超出范围的参数

即使设置了超出范围的参数也不会报错,只会计算“最大合法值”与“超出值”相加得到的date。

var date = new Date();

date.setFullYear(2016,12,32, 0, 0, 0);

document.write(date);

比较Date

var date1 = new Date();

var date2 = new Date();

date1.setTime(Date.UTC(2017,0,1));

date2.setTime(Date.UTC(2016,11,31));

document.write("date1 = " + date1.toLocaleString() + "
");

document.write("date2 = " + date2.toLocaleString() + "
");

document.write("date1 - date2 = " + (date1 - date2) + "毫秒
");

document.write("date1 - date2 = " + (date1 - date2)/1000/60/60 + "小时
");

document.write("date1 > date2 = " + (date1 > date2) + "
");

document.write("date1 < date2 = " + (date1 < date2) + "
");

以上所述是小编给大家介绍的JavaScript Date 知识浅析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

更多JavaScript Date 知识浅析相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

javascript date php date,JavaScript Date 知识浅析相关推荐

  1. html date 设置时间,JavaScript Date(日期)

    JavaScript Date(日期) 对象 日期对象用于处理日期和时间. 在线实例 getFullYear() 使用 getFullYear() 获取年份. getTime() getTime() ...

  2. Javascript ECMA-3 (数组,Date,正则)

    1. 数组 1.1 创建数组 //一.自变量创建数组 // 1-通过字面量创建一个空数组 var arr1 = []; console.log(arr1) console.log(typeof arr ...

  3. javaScript中内置对象Date基本操作入门

    Date基础语法 /*** Date** 1970年1月1日(UTC)起经过的毫秒数.** 语法* new Date();* new Date(value);* new Date(dateString ...

  4. JavaScript 时间 格式 转换 及 Date对象 总结

    1.当前系统区域设置格式(toLocaleDateString和toLocaleTimeString) 例子:(new Date()).toLocaleDateString() + " &q ...

  5. 【转载】javascript下ie7,ie8的Date Bug的解决

    ie9+, chrome firefox opera下 string到Date 使用   Date("2013-01-01"); 都是ok的. 但在ie7, ie8下 返回NaN ...

  6. Java 面向对象编程、jQuery、JavaScript、servlet、javabean----理论知识

    一.继承 1.继承(优点:代码复用方便修改)     1.1 继承的关键字:extends     1.2 实现继承步骤(1.编写父类 2.编写子类继承父类)     1.3 调用父类方法的关键字:s ...

  7. date js 半年_JavaScript Date对象

    Date对象 源码下载 最初接触编程,没有接触过非常讲究时间控制的领域,往往对时间没有概念,单片机编程,嵌入式开发,操作系统,无人及姿态控制往往会关注毫秒ms.微秒us级的时间概念. 什么是并行,什么 ...

  8. 购物网站 前台后台 思维导图_【思维导图】前端开发JavaScript巩固你的JavaScript知识体系(网站同步更新)...

    JavaScript基础语法 网站同步更新:http://www.dadaqianduan.cn/#/%E5%89%8D%E7%AB%AF%E5%A4%8D%E7%9B%98%E8%AF%BE/Jav ...

  9. linux无date命令,linux的date命令

    linux下显示时间命令是最基本的命令之一.下面由学习啦小编为大家整理了linux的date命令的相关知识,希望大家喜欢! Linux的date命令详解 显示时间是个常用的命令,在写shell脚本中也 ...

最新文章

  1. PaaS模式创新:实现应用可移植性
  2. css绝对定位如何在不同分辨率下的电脑正常显示定位位置?
  3. 在数组中找到一个局部最小的位置
  4. VTK:Utilities之CardinalSpline
  5. 相似图片搜索的原理(转)
  6. 思科路由器的基本设置(主机名,密码)
  7. mongodb地理空间索引原理阅读摘要
  8. Python学习笔记:PMT与PV函数
  9. IOS Emoji表情
  10. python open找不到文件的原因_python – logger找不到文件
  11. python变量名长度有限制吗_url长度有限制么?
  12. 企业信息化到底是不是一把手工程
  13. QTQString(UTF8)数据转GBK
  14. laravel 语言包
  15. 基于阿里云和Arduino的化学环境系统检测,支持钉钉机器人告警(MQ2、MQ3、MQ7、DHT11 完整源码以及实现步骤)
  16. [译]How To Use the Linux Auditing System on CentOS 7
  17. 读《如何有效阅读一本书:超实用笔记读书法》
  18. WHQL认证资讯:关于Windows硬件开发者仪表盘
  19. 苹果xsmax怎么开机_苹果XSMAX手机进水不开机怎么办?看小伙如何完美修复!
  20. 电阻、电感、电容元件的交流电路

热门文章

  1. linux 开机启动设置密码,Linux下Redis设置密码及开机自启动
  2. java 参数传值的练习题及答案_java方法参数传递面试题三则
  3. linux6.6 sudo环境变量,linux sudo环境变量设置
  4. JFrog Container Registry 搭建Docker镜像仓库 (tar.gz 版本)
  5. zookeeper 单机和集群搭建(windows环境+linux环境)
  6. kafka集群下载、启动、部署、测试
  7. tomcat内存溢出
  8. egg直接取req_Egg服务器基础功能
  9. java 杭州专卖店_杭州JAVA哪家有名气
  10. 02年六代雅阁的整备质量_2020年宝安第八批更新计划:联投地产5.4万㎡“工改”项目...