zoukankan      html  css  js  c++  java
  • 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


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

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


查看全文
  • 相关阅读:
    sublime less css less-plugin-clean-css lessc
    matplotlib 中文显示问题
    关闭edge新标签页广告
    刷写网卡MAC地址
    tar打包命令
    Print Spooler服务意外停止
    使用cmd命令为windows添加环境变量
    wps多用户使用问题
    屏蔽知乎登录弹窗
    Excel中无法移动分页符
  • 原文地址:https://www.cnblogs.com/lifexy/p/14558904.html
  • Copyright © 2011-2022 走看看