js 中的getUTCDate 方法与getDate 的差别

JavaScript0133

js 中的getUTCDate 方法与getDate 的差别,第1张

返回 Date 对象中用全球标准时间 (UTC) 表示的日期。

dateObj.getUTCDate()

必选项 dateObj 参数为 Date 对象。

说明

要获取用本地时间表示的日期,请使用 getDate 方法。

返回值是一个处于 1 到 31 之间的整数值,这个整数代表了 Date 对象中的日期值。

示例

下面这个例子说明了 getUTCDate 方法的用法。

function UTCDateDemo(){

var d, s = "今天 UTC 日期是: "

d = new Date()

s += (d.getUTCMonth() + 1) + "/ "

s += d.getUTCDate() + "/ "

s += d.getUTCFullYear()

return(s)

}

UTC 方法

请参阅

Date 对象的方法 | setTime 方法

应用于:Date 对象

要求

版本 1

返回全球标准时间 (UTC) (或 GMT) 的 1970 年 1 月 1 日到所指定日期之间所间隔的毫秒数。

Date.UTC(year, month, day[, hours[, minutes[, seconds[,ms]]]])

参数

year

必选项。为了获得跨世纪日期处理的精确性,需要使用完整的年份表示法。如果 year 处于 0 到 99 之间,那么 year 就被假定为 1900 + year。

month

必选项。月份是一个处于 0 到 11 之间的整数 (一月到十二月)。

day

必选项。日期是一个处于 1 到 31 之间的整数。

hours

可选项。如果提供了 minutes,那么此项也必须提供。0 到 23 之间的一个整数 (午夜到 11pm),用来指定小时。

minutes

可选的,如果提供了 seconds,那么此项也必须提供。0 到 59 之间的一个整数,用来指定分钟值。

seconds

可选项。如果提供了 milliseconds,那么此项也必须提供。从 0 到 59 之间的一个整数,用来指定秒钟值。

ms

可选项。从 0 到 999 之间的一个整数,用来指定毫秒数。

说明

UTC 方法返回从 UTC 的 1970 年 1 月 1 日午夜到所指定日期之间的毫秒数。这个返回值可以用在 setTime 方法中和 Date 对象的构造函数中。如果一个参数的值超出其范围或者是一个负数,那么其他保存过的值将相应地得到改变。例如,如果使用者指定 150 秒,JScript 会将该数值重新定义为 2 分钟 30 秒。

UTC 方法和 Date 对象的接受日期值的构造函数之间的差别在于: UTC 方法假设 UTC,而 Date 对象的构造函数假定本地时间。

UTC 方法是一个静态方法。因此,Date 对象不一定要在创建完之后才可以使用。

注意 如果 year 处于 0 到 99 之间,年份为 1900 + year 。

示例

下面这个例子说明了 UTC 方法的用法:

function DaysBetweenDateAndNow(yr, mo, dy){

var d, r, t1, t2, t3// 声明变量。

var MinMilli = 1000 * 60 // 初始化变量。

var HrMilli = MinMilli * 60

var DyMilli = HrMilli * 24

t1 = Date.UTC(yr, mo - 1, dy) // 从 1970 年 1 月 1 日起的毫秒。

d = new Date()// 创建日期对象。

t2 = d.getTime()// 获得当前时间。

if (t2 >= t1)

t3 = t2 - t1

else

t3 = t1 - t2

r = Math.round(t3 / DyMilli)

return(r) //返回差值。

}

要创建一个一个日期对象,可以使用以下的方式:

复制代码

代码如下:

var

now=new

Date()

当然,函数中没有传递任何参数,表示此对象now自动获取了当前的时间。

如果想要创建一个自定义时间的对象,则要对Date()进行参数的传递。而这个参数,必须是毫秒数(UTC时间1970年1月1日午夜起至自定义时间为止的毫秒数)。

我们可以使用Date.parse()和Date.UTC()来获得自定义时间的毫秒数。

Date.parse()接收一个表示日期的字符串参数,例如"May

25,2013","6/13/2013"等格式,具体支持的格式因地区而异。

而Date.UTC()中接收的参数分别是

年份、从0开始的月份数(0-11)、该月中的第几天(1-31)、小时树(0-23)、分钟、秒、毫秒,其中年份和月份数是必须的,其他参数缺省为0。

我们现在如果想定义一个2013年12月12日的日期对象,可以使用

Date.parse():

var

mydate=new

Date(Date.parse("12/12/2013")),

如果这样:

var

mydate=new

Date("12/12/2013")的话,在构造Date的时候,会自动调用Date.parse()将日期字符串转为毫秒数。

也可以使用Date.UTC():

var

mydate=new

Date(Date.UTC(2013,11,12)//注意月份下标从0开始,而日的下标从1开始

如果这样:

var

mydate=new

Date(2013,11,12),类似上面parse的构造方法,在构造日期对象的时候,会自动调用Date.UTC(),如果第一个参数是数值,将其当成年份,而第二个参数为月份......但是要注意的是,前者var

mydate=new

Date(Date.UTC(2013,11,12)得到的是GMT时间,而后者var

mydate=new

Date(2013,11,12)得到的是基于系统设置的本地时间。