• JavaScript 学习20.Date 日期对象 上海


    前言

    JavaScript Date日期对象用于处理日期和时间。

    创建日期

    有四种方式初始化日期

    new Date() // 当前日期和时间        
    new Date(milliseconds) //返回从 1970 年 1 月 1 日至今的毫秒数        
    new Date(dateString)        
    new Date(year, month, day, hours, minutes, seconds, milliseconds)
    

    实例化一个日期

    var a = new Date();
    console.log(a);  // Mon May 23 2022 15:31:52 GMT+0800 (中国标准时间)
    var b = new Date("May 23, 2021 10:13:00");
    console.log(b)  // Sun May 23 2021 10:13:00 GMT+0800 (中国标准时间)
    var c = new Date(22, 5, 23);
    console.log(c)  // Fri Jun 23 1922 00:00:00 GMT+0800 (中国标准时间)
    var d = new Date(2022, 5, 23);
    console.log(d) // Thu Jun 23 2022 00:00:00 GMT+0800 (中国标准时间)
    

    设置日期

    日期对象设置一个特定的日期 (2022 年5 月 23 日)

    var a = new Date();
    a.setFullYear(2022, 5, 23);
    console.log(a);  // Thu Jun 23 2022 15:57:40 GMT+0800 (中国标准时间)
    

    设置一个特定的时间(10点30分22秒)

    var a = new Date();
    a.setFullYear(2022, 5, 23); // 年月日
    console.log(a);  // Thu Jun 23 2022 15:57:40 GMT+0800 (中国标准时间)
    a.setHours(10, 30, 22); // 时分秒
    console.log(a)   // Thu Jun 23 2022 10:30:22 GMT+0800 (中国标准时间)
    

    设置日期的一些方法

    方法 参数 说明
    setFullYear() (year,month,date) 设置 Date 对象中的年份(四位数字)。
    setHours() (hoursr, min, sec, ms) 设置 Date 对象中的小时 (0 ~ 23)。
    setYear() 已废弃。请使用 setFullYear() 方法代替。
    setMonth() (month, date) 设置 Date 对象中月份 (0 ~ 11)。
    setDate() (data) 设置 Date 对象中月的某一天 (1 ~ 31)。
    setMinutes() (min,sec, ms ) 设置 Date 对象中的分钟 (0 ~ 59)。
    setSeconds() (sec, ms ) 设置 Date 对象中的秒钟 (0 ~ 59)。
    setMilliseconds() ( ms ) 设置 Date 对象中的毫秒 (0 ~ 999)。
    setTime() time setTime() 方法以毫秒设置 Date 对象。
    setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
    setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
    setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
    setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
    setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
    setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
    setUTCSeconds() setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。

    获取日期

    获取日期的一些方法

    方法 说明
    getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 星期天为 0, 星期一为 1, 以此类推
    getFullYear() 从 Date 对象以四位数字返回年份。
    getHours() 返回 Date 对象的小时 (0 ~ 23)。
    getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
    getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
    getMonth() 从 Date 对象返回值 0(一月) 到 11(十二月) 之间的一个整数
    getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
    getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
    getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
    getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
    getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
    getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
    getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
    getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
    getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
    getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
    getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
    getYear() 已废弃。 请使用 getFullYear() 方法代替。

    获取当前日期的年月日时分秒

    var a = new Date(); // 当前时间2022-5-23 16:25:58:968 星期一
    year = a.getFullYear();   // 2022
    month = a.getMonth(); // 4
    data = a.getDate();  // 23
    hour = a.getHours();  // 16
    minute = a.getMinutes(); // 25
    second = a.getSeconds(); // 58
    ms = a.getMilliseconds(); // 968
    day = a.getDay();  // 1
    

    需要注意的地方有2个

    • getMonth() 获取月份是从0开始,1月是0,2月是1,以此类推
    • getDay() 获取星期几,星期天为 0, 星期一为 1, 以此类推

    unix时间戳转换

    getTime()获取当前时间的unix时间戳

    var a = new Date();
    time = a.getTime();
    console.log(time);  // 1653294924546  (毫秒)
    

    setTime()设置unix时间戳格式的时间

    var a = new Date();
    a.setTime(1653294924546);
    console.log(a);  // Mon May 23 2022 16:35:24 GMT+0800 (中国标准时间)
    

    日期计算

    日期对象设置为 3 天后的日期

    var current = new Date();
    current.setDate(current.getDate()+3);  // 当前时间+3天
    

    当前日期往前5天

    var current = new Date();
    current.setDate(current.getDate()-5);  // 当前时间-5天
    

    当前时间往后加一个小时

    var current = new Date();
    current.setHours(current.getHours()+1);  // 当前时间+1小时
    

    注意: 如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。

    日期比较

    日期对象也可用于比较两个日期。
    下面的代码将当前日期与 2020 年 1 月 5 日做了比较:

    var x = new Date();
    x.setFullYear(2020, 0, 5);
    var today = new Date();
    if (today > x){
      console.log("Today is after 2022.1.5");
    }
    else{
      console.log("Today is before 2022.1.5");
    }
    
  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/16301542.html
Copyright © 2020-2023  润新知