Javascript之Date对象详解(2)

var born = new Date("July 21, 1983 01:15:00");
document.write(born.getHours());


输出:1
注释:由 getHours() 返回的值是一个两位的数字。
不过返回值不总是两位的,如果该值小于 10,则仅返回一位数字。

8、getMinutes() 方法可返回时间的分钟字段,返回值是 0 ~ 59 之间的一个整数。

与上述方法类似,返回值不总是两位的,如果该值小于 10,则仅返回一位数字。

9、getSeconds() 方法可返回时间的秒,返回值是 0 ~ 59 之间的一个整数。

与上述方法类似,返回值不总是两位的,如果该值小于 10,则仅返回一位数字。

10、getMilliseconds() 方法可返回时间的毫秒,毫秒字段,以本地时间显示。返回值是 0 ~ 999 之间的一个整数。

注释:由 getMilliseconds() 返回的值是一个三位的数字。

不过返回值不总是三位的,如果该值小于 100,则仅返回两位数字,如果该值小于 10,则仅返回一位数字。
下面我们有两种方式将时间显示出来:
--->方式一

复制代码 代码如下:

var d = new Date();
document.write('Time is '+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds());


输出:Time is 10:52:2,缺点很明显,在秒为<10的情况下只显示了一位,其他的也类似,因此推荐第二种显示方式

--->方式二

复制代码 代码如下:

function checktime(time)
{
    if(time<10)
    {
      time = '0'+time;
    }
    return time;
}
var d = new Date();
document.write('Time is '+checktime(d.getHours())+":"+checktime(d.getMinutes())+":"+checktime(d.getSeconds()));


输出:Time is 10:55:02

11、getTime() 方法可返回本地时间距 1970 年 1 月 1 日之间的毫秒数,因此可以自定义Date("Jul 26 2000");

复制代码 代码如下:

var d = new Date();
document.write(d.getTime() + " milliseconds since 1970/01/01");


输出:1350615452813 milliseconds since 1970/01/01

因此我们可以根据此数得到本地时间距离1970/01/01的年数

复制代码 代码如下:

var minutes = 1000*60;//一分钟有60秒,一秒有60毫秒,下面依次类推
var hours = minutes*60;
var days = hours*24;
var years = days*365;
var d = new Date();
var t = d.getTime();//获得距离1970/01/01的毫秒数
var y = t/years;
document.write("It's been: " + y + " years since 1970/01/01!");


输出:
It's been: 42.82773990521943 years since 1970/01/01!
注:此时的年份是一个小数,可以将其换成整数(其实Javascript中没有整数的区别)

最后一行修改为:

复制代码 代码如下:

document.write("It's been: " + parseInt(y) + " years since 1970/01/01!");


输出:
It's been: 42 years since 1970/01/01!
parseInt(float);可以将浮点类型转换为整型

12、getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位。

注:
getTimezoneOffset() 方法返回的是本地时间与 GMT 时间或 UTC 时间之间相差的分钟数。
实际上,该函数告诉我们运行 JavaScript 代码的时区,以及指定的时间是否是夏令时。
返回之所以以分钟计,而不是以小时计,原因是某些国家所占有的时区甚至不到一个小时的间隔。

复制代码 代码如下:

var d = new Date();
document.write(d.getTimezoneOffset());


输出:
-480(东八区,8*60)

因此可以根据此方法来判断所在时区

复制代码 代码如下:

function checkzone(zone)
{
    if (zone==0)
    {
        return "零时区";
    }
    else if (zone>0)
    {
    return "西"+parseInt(zone/60)+"区";
    }
    else
    {
    return "东"+parseInt(Math.abs(zone/60))+"区";
    }
}
var d = new Date();
document.write(checkzone(d.getTimezoneOffset()));


其中Math.abs()为求绝对值
以上方法是自己原创,因为地理学的不好,不知道对不对,求指正

13、parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。

parse(str);str为字符串,是一个符合时间格式的字符串

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzspjz.html