• 5.qml-ECMAScript(Date对象)


    1.Date对象介绍
    ECMAScript提供了Date类型来处理时间和日期,用来呈现时间中的某个时刻.
    它的实例化构造方法如下所示:

    new Date();
    new Date(value); // value是一个整数值表示自1970年1月1日00:00:00以来的毫秒数
    new Date(dateString);
    new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds);
    // year和monthIndex参数必填, day默认值为1,其它参数默认值为0
    // monthIndex是从0开始的,意味着"1"表示2月的意思
    // 如果数值大于时间范围,则会进行调整,比如: Date(2013, 12, 1, 0, 10)等于new Date(2014, 1, 1, 0, 10)
    // 如果我们实例化时,不指定时间,则默认以当前时间点来初始化它.

    实例如下所示:

    var date1 = new Date;
    console.log(date1)    // 打印当前时间
    // 也可以new Date("2000/01/01 00:00:00");
    var date2 = new Date('1995-12-17T03:24:00'); // 由于12是13月的意思,已经超过月份范围,所以实际为1996-1-17 03:24:00
    console.log(date2)
    
    var date3 = new Date(2013, 12, 1, 0, 10);
    console.log(date3)


    2.获取两个Date之间的时间差
    两个Date相减,会返回一个以毫秒为单位的value.如果以一个月为30天为准的话,所以可以这样计算时间差:

    var date1 = new Date(2010, 5, 1, 1, 10);
    var date2 = new Date(2011, 4, 13, 3, 30);
    
    var total = date2-date1;
    
    var year = Math.floor(total/(1000*60*60*24*360));
    var month = Math.floor(total%(1000*60*60*24*360)/(1000*60*60*24*30));
    var day = Math.floor(total%(1000*60*60*24*30)/(1000*60*60*24));
    var hour = Math.floor(total%(1000*60*60*24)/(1000*60*60));
    var min = Math.floor(total%(1000*60*60)/(1000*60));
    var second = Math.floor(total%(1000*60)/(1000));
    
    console.log(year,month,day,hour,min,second);  // 打印两个时间差


    3.Date提供的静态方法

    • Date.now() : 返回自 1970-1-1 00:00:00 UTC(世界标准时间)至今所经过的毫秒数

    4.Date提供的实例get方法 

    • date.getFullYear() : 根据本地时间返回指定日期对象的年份(四位数年份时返回四位数字)。
    • date.getMonth() : 根据本地时间返回指定日期对象的月份(0-11)。
    • date.getDate() : 根据本地时间返回指定日期对象的月份中的第几天(1-31)。
    • date.getDay() : 根据本地时间返回指定日期对象的星期中的第几天(0-6)。
    • date.getHours() :根据本地时间返回指定日期对象的小时(0-23)。
    • date.getMinutes() :根据本地时间返回指定日期对象的分钟(0-59)。
    • date.getSeconds() : 根据本地时间返回指定日期对象的秒数(0-59)。
    • date.getMilliseconds() : 根据本地时间返回指定日期对象的毫秒(0-999)。
    • date.getTime() : 返回从1970-1-1 00:00:00 UTC(协调世界时)到该日期经过的毫秒数,对于1970-1-1 00:00:00 UTC之前的时间返回负值。
    • date.getTimezoneOffset() : 返回当前时区的时区偏移,单位为分钟
    • date.getUTCDate() : 根据世界时返回特定日期对象一个月的第几天(1-31).
    • date.getUTCDay() : 根据世界时返回特定日期对象一个星期的第几天(0-6).
    • date.getUTCFullYear() :根据世界时返回特定日期对象所在的年份(4位数).
    • date.getUTCHours() :根据世界时返回特定日期对象当前的小时(0-23).
    • date.getUTCMilliseconds() :根据世界时返回特定日期对象的毫秒数(0-999).
    • date.getUTCMinutes() :根据世界时返回特定日期对象的分钟数(0-59).
    • date.getUTCMonth() :根据世界时返回特定日期对象的月份(0-11).
    • date.getUTCSeconds() :根据世界时返回特定日期对象的秒数(0-59).

    示例如下所示:

    var date = new Date(2014, 11, 1, 12, 10);
    console.log(date.getFullYear()); // 打印 2014
    console.log(date.getMonth());    // 打印11(12月份)
    console.log(date.getDate());     // 打印1(1号)


    5.Date提供的实例set方法

    • date.setFullYear() : 根据本地时间为指定日期对象设置完整年份。
    • date.setMonth() : 根据本地时间为指定日期对象设置月份。
    • date.setHours() : 根据本地时间为指定日期对象设置小时数。
    • date.setDate() : 根据本地时间为指定的日期对象设置月份中的第几天。
    • date.setMinutes() : 根据本地时间为指定日期对象设置分钟数。
    • date.setSeconds() : 根据本地时间为指定日期对象设置秒数。
    • date.setMilliseconds() : 根据本地时间为指定日期对象设置毫秒数。
    • date.setTime() : 通过指定从 1970-1-1 00:00:00 UTC 开始经过的毫秒数来设置日期对象的时间,对于早于 1970-1-1 00:00:00 UTC的时间可使用负值。
    • date.setUTCDate() : 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
    • date.setUTCFullYear() : 根据世界时设置 Date 对象中的年份(四位数字)。
    • date.setUTCHours() : 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
    • date.setUTCMilliseconds() : 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
    • date.setUTCMinutes() : 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
    • date.setUTCMonth() : 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
    • date.setUTCSeconds() : 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

    示例如下所示:

    var date = new Date(2014, 11, 1, 12, 10);
    date.setFullYear(2016);
    date.setDate(12);
    console.log(date.getFullYear());  // 打印 2016
    console.log(date.getMonth());     // 打印11(12月份)
    console.log(date.getDate());      // 打印12(12号)


    6.QML扩展的Date方法
    如下图所示,QML对ECMAScript的Date对象进行了扩展,添加了下面几个方法:

    其中local表示不同的国家区域,比如:中国(zh-CN)、美国(en-US)、日本(ja-JP)、德国(de-DE).
    dateString表示的是时间字符串,format表示的是时间格式.
    比如:

    var date = new Date();
    console.log(date.toLocaleString(Qt.locale("de-DE")));

    打印指定格式年月日时分秒,则使用:

    console.log( new Date().toLocaleString(Qt.locale(), "ddd yyyy-MM-dd hh:mm:ss"));

     如果只想打印时间则使用toLocaleTimeString()、如果只打印日期则使用toLocaleDateString


    人间有真情,人间有真爱。

    如果您喜欢这里,感觉对你有帮助,并且有多余的软妹币的话,不妨投个食吧,赞赏的时候,留下美句和你的博客地址哦~   戳这里看谁投食了


  • 相关阅读:
    洛谷 1339 最短路
    洛谷 1330 封锁阳光大学 图论 二分图染色
    洛谷 1262 间谍网络 Tarjan 图论
    洛谷 1373 dp 小a和uim之大逃离 良心题解
    洛谷 1972 莫队
    洛谷 2158 数论 打表 欧拉函数
    洛谷 1414 数论 分解因数 水题
    蒟蒻的省选复习(不如说是noip普及组复习)————连载中
    关于筛法
    关于整数划分的几类问题
  • 原文地址:https://www.cnblogs.com/lifexy/p/14558904.html
  • Copyright © 2020-2023  润新知