天天看点

JavaScript(8):Date日期函数

默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串:

Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间)

稍后,您将在本教程学到更多关于如何显示日期的知识。

Date 对象由新的 Date() 构造函数创建。

有 4 种方法创建新的日期对象。

new Date() 用当:日期对象是静态的。计算机时间正在滴答作响,但日期对象不会。

注释:JavaScript 从 0 到 11 计算月份。一月是 0。十二月是11。

注意:您不能省略月份。如果只提供一个参数,则将其视为毫秒。

一位和两位数年份将被解释为 19xx 年:

有四种 JavaScript 日期输入格式

ISO 8601 是表现日期和时间的国际标准。ISO 8601 语法 (YYYY-MM-DD) 也是首选的 JavaScript 日期格式,计算的日期相对于您的时区。

UTC(Universal Time Coordinated)协调世界时,又称世界统一时间,世界标准时间,国际协调时间。UTC 时间通过大写字母 Z 来定义。等同于 GMT(格林威治时间)

在日期-时间字符串中省略 T 或 Z,在不同浏览器中会产生不同结果。

时区

在设置日期时,如果不规定时区,则 JavaScript 会使用浏览器的时区。当获取日期时,如果不规定时区,则结果会被转换为浏览器时区。

换句话说,如果用户从中国进行浏览,假如日期/时间以 GMT(格林威治标准时间)创建,该日期/时间将被转换为 CST(中国标准时间)

在某些浏览器中,不带前导零的月或其会产生错误:

JavaScript 会忽略日期名称和时间括号中的错误:

JavaScript 将零时间存储为自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。

现在的时间是:1970 年 1 月 1 日之后的 1554166879383 毫秒。

JavaScript(默认情况下)将以全文本字符串格式输出日期:

Wed Mar 25 2015 08:00:00 GMT+0800 (中国标准时间)

1、toString() :日期对象自动转换为字符串.在 HTML 中显示日期对象时,会使用 toString() 方法自动转换为字符串。

2、toUTCString() :将日期转换为 UTC 字符串(一种日期显示标准)。

3、toDateString() :将Date 对象的日期部分转换为字符串。

4、toTimeString():把 Date 对象的时间部分转换为字符串。

5、toLocaleString():根据本地时间格式,把 Date 对象转换为字符串。

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

7、toLocaleTimeString():根据本地时间格式,把 Date 对象的时间部分转换为字符串。

日期方法允许您获取并设置日期值(年、月、日、时、分、秒、毫秒)

getFullYear() 方法:获取四位的年(yyyy)

getMonth() 方法:获取月(0-11)

getDate() 方法:以数值返回天(1-31)

getHours() 方法:获取小时(0-23)

getMinutes() 方法:获取分(0-59)

getSeconds() 方法:获取秒(0-59)

getMilliseconds() 方法:获取毫秒(0-999)

getDay() 方法:以数值获取星期名(0-6)

getTime() 方法:获取时间(从 1970 年 1 月 1 日至今)

您可以使用名称数组,并使用 getMonth() 将月份作为名称返回:

您可以使用名称数组,并使用 getDay() 将星期名作为名称返回:

使用“设置日期”方法可以设置日期对象的日期值(年、月、日、小时、分钟、秒、毫秒)。

设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):

setFullYear() 方法:设置年(可选月和日)

setMonth() 方法:设置月(0-11)

setDate() 方法:以数值(1-31)设置日

setHours() 方法:设置小时(0-23)

setMinutes() 方法:设置分(0-59)

setSeconds() 方法:设置秒(0-59)

setMilliseconds():设置毫秒(0-999)

setTime():设置时间(从 1970 年 1 月 1 日至今的毫秒数)

<code>dateObj.dateAdd(interval, number)</code>

<code>dateObj.dateDiff(interval, dateObj2)</code>

interval 参数可以有以下值:

y:年

q:季度

m:月

d:日

w:周

h:小时

n:分钟

s:秒

ms:毫秒

将日期格式串,转换成想要的格式

调用方法:

方法:

操作日期:

Date.prototype.MaxDayOfDate = function() {

     var myDate = this;

     var ary = myDate.toArray();

     var date1 = (new Date(ary[0], ary[1] + 1, 1));

     var date2 = date1.dateAdd(1, 'm', 1);

     var result = dateDiff(date1.Format('yyyy-MM-dd'), date2.Format('yyyy-MM-dd'));

     return result

}

秒Int与Time时间字符串的转换:

继续阅读