javascript之Date

2013/9/23 - 更新

  JSON 日期转 JS日期,我们知道,日期类型转成JSON之后,返回的数据类似这样:

  /Date(1379944571737)/

  但是这种日期并不能直接显示,因为根本没有人知道这是什么意思,下面提供一种JSON日期转JS日期的方式。

function ConvertJSONDateToJSDate(jsondate) {
    var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));
    return date;
}

  在提供两种Date转习惯视觉的日期格式:

//yyyy-MM-dd
function getDate(date) {
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    return year + "-" + month + "-" + day ;
}
//yyyy-MM-dd HH:mm:SS
function getDateTime(date) {
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var day = date.getDate();
    var hh = date.getHours();
    var mm = date.getMinutes();
    var ss = date.getSeconds();
    return year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;
}

将一个字符串转换为Date对象的写法:

        var str = "2012-12-12";
        var date = new Date(str);  //字符串转换为Date对象
        document.write(date.getFullYear());  //然后就可以使用Date对象的方法输出年份了

一、Date.getDate()  返回是日期对象中月份中的几号。

        var date = new Date();  //2012-12-19
        document.write(date.getDate());  //返回  19 是19号

二、Date.getDay()  返回日期中的星期几  星期天0-星期6

        var date = new Date();
        document.write(date.getDay());  //3 星期3

三、Date.getFulYead()  返回年份  如2012。

        var date = new Date();
        document.write(date.getFullYear());  //返回2012,2012年

四、Date.getHours()  返回日期中的小时,几点了,0-23

        var date = new Date();
        document.write(date.getHours());  //返回23,晚上11点

五、Date.getMilliseconds()  返回日期中的毫秒数

        var date = new Date();
        document.write(date.getMilliseconds());  //返回27  当前是xx年,xx月,xx点,xx分,xx秒,xx毫秒的毫秒

六、Date.getMinutes()    返回日期中的分钟数  0-59

        var date = new Date();
        document.write(date.getMinutes());  //2012-12-19 23:22  返回22,12点22分

七、Date.getMonth()      //返回日期中的月份数,返回值0(1月)-11(12月)

        var date = new Date();
        document.write(date.getMonth());  //2012-12-19  此处返回11,注意此处与通常理解有些偏差,1月份返回是0,12月返回是11

八、Date.getSeconds()    //返回一个日期的描述

        var date = new Date();
        document.write(date.getSeconds());·//返回34,2012-12-19 23:27:34  27分34秒

九、Date.getTime()      //将一个日期对象以毫秒形式返回

        var date = new Date();
        document.write(date.getTime());  //返回1355930928466  返回值是1970-01-01 午夜到当前时间的毫秒数。

十、Date.getTimezoneOffset()   //GMT时间与本地时间差,用分钟表示

        var date = new Date();
        document.write(date.getTimezoneOffset());  //返回-480  实际上这个函数获取的是javascript运行于哪个时区。单位是分钟。

十一、Date.getUTCDate()    //返回Date对象中的日期值,(全球时间)

        var date = new Date();
        document.write(date.getUTCDate());  //返回19  19号

十二、Date.getUTCDay()     //返回Date对象中的星期几,(全球时间)

        var date = new Date();
        document.write(date.getUTCDay());  //返回3  星期3

十三、Date.getUTCFullYear()  //返回Date中的年份,4位,如2012,(全球时间)

        var date = new Date();
        document.write(date.getUTCFullYear());  //返回2012

十四、Date.getUTCHours()    //返回Date对象中的小时数,就是现在是几点,终于有一个跟getHours()不同了,应该是时差关系,返回的是全球时间里的。

        var date = new Date();
        document.write(date.getUTCHours());  //现在北京时间是2012-12-19 23:44,但是返回的是15,也就是全球时间中的小时数。

十五、Date.getUTCMilliserconds()  //返回Date对象中的毫秒数,(全球时间)

        var date = new Date();
        document.write(date.getMilliseconds());  //返回全球时间中的毫秒数

十六、Date.getUTCMinutes()    //返回Date对象中的分钟数,(全球时间)

        var date = new Date();
        document.write(date.getMinutes());  //2012-12-19 23:49  返回49,注意是全球时间,其实全球时间应该就小时不同而已吧。

十七、Date.getUTCMonth()      //返回Date对象中月份值,(全球时间)

        var date = new Date();
        document.write(date.getMonth());  //2012-12-19  返回11,0(1月份)-11(12月份)  

十八、Date.getUTCSeconds()    //返回Date对象中的秒数值

        var date = new Date();
        document.write(date.getSeconds());  //返回秒数值 返回33

十九、Date.getYear()    //返回Date对象中的年份值减去1900

        var date = new Date();
        document.write(date.getYear());  //2012-12-19  返回112 (2012-1900)

二十、Date.now()    静态方法  //返回1970-01-01午夜到现在的时间间隔,用毫秒表述

     document.write(Date.now());  //静态方法,返回当前时间与1970-01-01的时间间隔,毫秒单位。

二十一、Date.parse()    //解析一个日期时间字符串,返回1970-01-01午夜到给定日期之间的毫秒数

        var date = "2012-12-19";
        document.write(Date.parse(date));  //返回  1355875200000         var da = new Date(date);         document.write("<br/>" + da.getFullYear() + "-" + da.getMonth() + "-" + da.getDate());  //输出2012-11-19  //注意月份是从0-11 

二十二、Date.setDate()  //设置一个Date对象中的日期值,返回值用调整后的日期的毫秒表示

        var date = new Date();
        document.write(date.setDate(11));  //返回1355236647980    //设置为11,其实是12月,设置为3其实是4月      var da = new Date(date);         document.write("<br/>" + da.getFullYear() + "-" + da.getMonth() + "-" + da.getDate()); //输出2012-11-11  //注意月份是从0-11,设置的时候要注意

二十三、Date.setFullYear()  //设置一个Date对象中的年份,返回值用调整后的日期的毫秒表示。

        var date = new Date();  今天是2012-12-20
        document.write(date.setFullYear(1989)); //返回630167981030
        var da = new Date(date);
        document.write("<br/>" + da.getFullYear() + "-" + da.getMonth() + "-" + da.getDate()); //输出1989-11-20

二十四、Date.setHours()  //设置一个Date对象中的小事数,返回值用调整后的日期的毫秒表示。

        var date = new Date();      //现在是2012-12-52 22:52
        document.write(date.setHours(5)); //返回1355954000882
        var da = new Date(date);
        document.write("<br/>" + da.getHours()); //输出05

二十五、Date.setMilliseconds()  //设置一个日期的毫秒数

        var date = new Date();      //现在是2012-12-20
        document.write(date.setMilliseconds(22)); //返回1356015393022    注意最后两位,无论如何刷新都是22

二十六、Date.setMinutes()    //设置一个日期的分钟数

        var date = new Date();      //现在是2012-12-52 22:52
        document.write(date.setMinutes(1)); //返回1356012067105
        var da = new Date(date);
        document.write("<br/>" + da.getMinutes()); //输出1

二十七、Date.setMonth()      //设置一个日期的月份数

        var date = new Date();      //现在是2012-12-20
        document.write(date.setMonth(2)); //返回1332255597722
        var da = new Date(date);
        document.write("<br/>" + da.getMonth()); //输出2

二十八、Date.setSeconds()      //设置一个日期的描述

     语法:date.setSeconds(seconds)

        date.setSeconds(seconds,millis)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setSeconds(3)); //返回1356015783872
        var da = new Date(date);
        document.write("<br/>" + da.getSeconds()); //输出3

二十九、Date.setTime()        //使用毫秒数设置一个时间

      语法:date.setTime(milliseonds)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setTime(1356015783872)); //返回1356015783872
        var da = new Date(date);
        document.write("<br/>" + da.getDate()); //输出20

三十、Date.setUTCDate()        //设置一个Date对象中对应月的日期值,就是几号(全球时间)

      语法:date.setUTCDate(day-of-month)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setUTCDate(12)); //返回1355324952003
        var da = new Date(date);
        document.write("<br/>" + da.getDate()); //输出12

三十一、Date.setUTCFullYear()     //设置一个Date对象中对应的年份,全球时间

      语法:date.setUTCFullYear(year)

         date.setUTCFullYear(year,month)

         date.setUTCFullYear(year,month,day)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setUTCFullYear(1999)); //返回945702713666
        var da = new Date(date);
        document.write("<br/>" + da.getFullYear()); //输出1999 

三十二、Date.setUTCHours()      //设置一个Date对象中对应的小时数,(全球时间)

      语法:date.setUTCHours(hours)

           date.setUTCHours(hours,minutes)

         date.setUTCHours(hours,minutes,seconds)

         date.setUTCHours(hours,minutes,seconds,millis)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setUTCHours(05)); //返回1355980581928
        var da = new Date(date);
        document.write("<br/>" + da.getUTCHours()); //输出5 

三十三、Date.setUTCMilliseconds()  //设置一个Date对象中对应的毫秒数,(全球时间)

      语法:date.setUTCMilliseconds(millis)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setMilliseconds(05)); //返回1356016784005  注意此处无论如何刷新都是05结尾

三十四、Date.setUTCMinutes()    //设置一个Date对象的分钟、秒钟、以及毫秒值。

      语法:date.setUTCMinutes(minutes)

date.setUTCMinutes(minutes,seconds)

date.setUTCMinutes(minutes,seconds,millis)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setUTCMinutes(25)); //返回1356017146549
        var da = new Date(date);
        document.write("<br/>" + da.getUTCMinutes()); //输出5 

三十五、Date.setUTCMonth()    //设置一个Date对象的月份值及日期值

        语法:date.setUTCMonth(month)

          date.setUTCMonth(month,day)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setMonth(01)); //返回1329751527983
        var da = new Date(date);
        document.write("<br/>" + da.getUTCMonth()); //输出1 

三十六、Date.setUTCSeconds()    //设置一个Date的秒钟及毫秒值

      语法:date.setUTCSeconds(seconds)

         date.setUTCSeconds(seconds,millis)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setUTCSeconds(01)); //返回1356017281976
        var da = new Date(date);
        document.write("<br/>" + da.getUTCSeconds()); //输出1 

三十七、Date.setYears()      //设置一个Date对象的年份值,如果给的参数在0-99之间,它将会加上1900以便把它当中1900-1999之间的年份处理。如果输入4位数                    则把它当成FullYear设置

      语法:date.setYears(year)

        var date = new Date();      //现在是2012-12-20
        document.write(date.setYear(22)); //返回1356017281976
        var da = new Date(date);
        document.write("<br/>" + da.getFullYear()); //输出1922
        var date = new Date();      //现在是2012-12-20
        document.write(date.setYear(2011)); //返回1324395113386
        var da = new Date(date);
        document.write("<br/>" + da.getFullYear()); //输出2011

三十八、Date.toDateString()    //以字符串的形式返回一个Date的日期部分

     语法:date.toDateString()

        var date = new Date();      //现在是2012-12-20
        document.write(date.toDateString("yyyy-MM-dd")); //返回Thu Dec 20 2012 

三十九、Date.toTimeString()    //以字符串的形式返回一个Date的时间部分

     语法:date.toTimeString()

        var date = new Date();      //现在是2012-12-20
        document.write(date.toTimeString("yyyy-MM-dd")); //返回23:38:33 GMT+0800 

四十、Date.toISOString()      //将一个Date对象转换为ISO-8601格式的字符串

     语法;date.toISOString()  //返回的字符串格式为yyyy-mm-ddThh:mm:ssZ

        var date = new Date();      //现在是2012-12-20
        document.write(date.toISOString()); //返回2012-12-20T15:45:47.493Z 

四十一、Date.toJSON       //JSON序列化一个对象

     语法:date.toJSON(key)  //date的一个字符串表示形式,值为调用它的toISOString()方法的结果

        var date = new Date();      //现在是2012-12-20
        document.write(date.toJSON()); //返回2012-12-20T15:45:47.493Z 

四十二、Date.toLocaleDateString()  //以本地格式的字符串返回一个Date的日期部分

     语法:date.toLolcaleDateString  //返回一个本地人可读的日期格式,日期部分

        var date = new Date();      //现在是2012-12-20
        document.write(date.toLocaleDateString()); //返回2012年12月20日

四十三、Date.toLocaleString()    //将一个Date转化难为一个本地格式的字符串

     语法:date.toLocaleString()

        var date = new Date();      //现在是2012-12-22
        document.write(date.toLocaleString()); //返回2012年12月22日 19:56:40 

四十四、Date.toLocaleTimeString()    //将一个Date转化为本地的格式的时间部分

        var date = new Date();      //现在是2012-12-22
        document.write(date.toLocaleTimeString()); //返回19:57:23 

四十五、Date.toString()          //将一个Date转换为一个字符串

        var date = new Date();      //现在是2012-12-22
        document.write(date.toString()); //返回Sat Dec 22 2012 19:59:17 GMT+0800 

四十六、Date.toTimeString()       //以字符串的形式返回一个Date对象的时间部分

        var date = new Date();      //现在是2012-12-22
        document.write(date.toString()); //返回Sat Dec 22 2012 19:59:17 GMT+0800 

四十七、Date.toUTCString()       //将一个Date对象转换为字符串(全球时间)

        var date = new Date();      //现在是2012-12-22
        document.write(date.toUTCString()); //返回Sat, 22 Dec 2012 12:00:42 GMT 

四十八、Date.UTC()           //将一个Date对象转换毫秒的形式  静态方法

      语法:Date.UTC(year,month,day,hours,minutes,seconds,ms)

    document.write(Date.UTC(2011, 11, 11, 11, 11, 11)); //返回1323601871000 

四十九、Date.valueOf()         //如果是一个Date对象,将一个Date对象转为毫秒的形式,否则不显示

        var date = "";
        document.write(date.valueOf());    //不是Date对象,不输出
        var date1 = new Date();
        document.write(date1.valueOf());   //输出1356180400916 
时间: 2024-11-05 06:18:18

javascript之Date的相关文章

javascript 通过Date对象验证日期合法性

通常来说,javascript验证日期的有效性可以通过正则判断 但正则表达式无法精准验证日期的有效性,你无法通过正则表达式判断出1900-02-29是非法日期而2000-02-29是合法日期,而且正则表达式匹配起来比较繁琐. 要想精确验证,最容易想到的方法就是通过月份判断日期是否合法(1~28/29/30/31),你可以用一个数组表示每月的天数,如daysInMonth=[31,28,31,30,31,30,31,31,30,31,30,31],但你会发现daysInMonth[1]这个值可能是

javascript篇:javascript对象——Date

Date对象是javascript的内置对象,用于处理日期和时间,使用前必须定义: var myDate = new Date();//Date对象会自动初始化该对象,使其值为当前日期和时间. var myDate = new Date("June 15, 1990 00:00:00"); var myDate = new Date(milsec);//参数为距离1970/1/1午夜的毫秒数 以上方式定义myDate 是本地时间,而不是UTC时间. Date对象的属性: constru

javascript中Date对象的应用——简易日历的实现

× 目录 [1]效果 [2]HTML [3]CSS[4]JS 前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入控件,这样在高级浏览器下自带调节按钮 按照周日到周一的顺序进行星期的排列 <div class="box"> <header class='control'> <input id="con

javascript: new Date(string)在IE中显示NaN的问题!

在chrome中使用,使用 new Date("20xx-xx-xx 00:00:00") 显示正常,但在IE中显示NaN,如果使用 new Date("20xx/xx/xx 00:00:00") 则可以解决兼容问题(chrome,IE,firefox,opera均测试正常). 另:var days = parseInt((cur.getTime() - up.getTime()) / (24 * 60 * 60 * 1000));可以计算两个日期之间的天数. ja

javascript 追加date format属性。

Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds()

javascript 的Date 格式化, 模仿shell中date命令的格式

原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [[email protected]]$ date '+%Y-%m-%d %H:%M:%S' 2015-01-19 16:24:58 把javascript 中的Date object 格式化成适合的字符串,很不方便,模拟shell中的格式 下面先用3段简单的代码来说明模拟函数中用到的特性 字符串的replace var a = '1234' undefined a.replace

javascript中Date对象的应用

前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛.本文将详细说明简易日历的实现思路 效果演示 HTML说明 使用type=number的两个input分别作为年和月的输入控件,这样在高级浏览器下自带调节按钮 按照周日到周一的顺序进行星期的排列 <div class="box"> <header class='control'> <input id="conYear" class="con-in&q

JavaScript基础 Date(日期字符串 不包括时分秒) 不指定时分秒的时候 系统默认是0:0:0

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

JavaScript基础 Date(日期字符串 包括时分秒)

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut

JavaScript基础 Date(年,月,日,时,分,秒,毫秒) 多个整型赋值

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=ut