JavaScript中的Date对象,以及常用格式化日期的方法封装

一、Date对象

二、操作Date对象

1、创建Date对象

(1)常用方法

(2)使用示例

2、获取日期

(1)常用方法

(2)使用示例

3、设置日期 

(1)常用方法

(2)使用示例

4、格式转换

(1)常用方法

(2)使用示例

5、获取时间戳

(1)常用方法

(2)使用示例 

三、格式化Date对象


一、Date对象

JavaScript中内置了一个Date对象,它非常强大,提供了很多属性和方法,用来创建、操作、格式化日期和时间,也可以进行各种日期和时间的相关操作;

二、操作Date对象

1、创建Date对象

使用new Date() 构造函数来创建Date实例对象;

(1)常用方法

序号

方法

说明
1new Date()根据当前时间创建Date对象;
2new Date(milliseconds)根据milliseconds(13位时间戳)创建Date对象;
3new Date(dateString)根据dateString(如:"2024/2/20 11:11:00")日期字符串创建Date对象;
4new Date(year, month  [, day, hours, minutes, seconds, milliseconds] )根据传入的年,月,日,时,分,秒,毫秒创建,前两个参数必选;

(2)使用示例


// 1、不传参数,根据当前日期创建
console.log("根据当前日期创建:", new Date());// 2、传入时间戳创建
console.log("根据时间戳创建:", new Date(1719363544868));// 3、传入日期字符串创建
console.log("根据日期字符串:", new Date("2014/01/08 11:11:00"));// 4、传入年,月,日,时,分,秒,毫秒创建
console.log("根据年,月,日,时,分,秒,毫秒创建:", new Date(2014, 2, 20, 11, 30, 23));

 

2、获取日期

(1)常用方法

序号

方法

描述
1getFullYear() 获取4位数年份
2getMonth()获取月份(0-11,0代表一月)
3getDate()获取月份中的某一天(1-31)
4getHours()获取小时数(0-23)
5getMinutes()获取分钟数(0-59)
6getSeconds()获取秒数(0-59)
7getMilliseconds()获取毫秒数(0-999)
8getTime()获取自1970年1月1日以来的毫秒数
9getDay()获取星期中的某一天(0-6,0代表周日)

(2)使用示例

// 创建当前时间的日期对象
const date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);// 1、获取4位数年份
console.log("getFullYear()方法,获取4位数年份:", date.getFullYear());// 2、获取月份(0-11,0代表一月)
console.log("getMonth()方法,获取月份:", date.getMonth() + 1);// 3、获取月份中的某一天(1-31)
console.log("getDate()方法,获取月份中的某一天:", date.getDate());// 4、获取小时数(0-23)
console.log("getHours()方法,获取小时数:", date.getHours());// 5、获取分钟数(0-59)
console.log("getMinutes()方法,获取分钟数:", date.getMinutes());// 6、获取秒数(0-59)
console.log("getSeconds()方法,获取秒数:", date.getSeconds());// 7、获取毫秒数(0-999)
console.log("getMilliseconds()方法,获取毫秒数:", date.getMilliseconds());// 8、获取自1970年1月1日以来的毫秒数
console.log("getTime()方法,获取自1970年1月1日以来的毫秒数:", date.getTime());// 9、获取星期中的某一天(0-6,0代表周日)
console.log("getDay()方法,获取星期中的某一天:", date.getDay());

3、设置日期 

(1)常用方法

序号方法描述
1setFullYear() 设置4位数年份
2setMonth()设置月份(0-11,0代表一月)
3setDate()设置月份中的某一天(1-31)
4setHours()设置小时数(0-23)
5setMinutes()设置分钟数(0-59)
6setSeconds()设置秒数(0-59)
7setMilliseconds()设置毫秒数(0-999)

(2)使用示例

let date = new Date();
console.log("新创建的Date对象:", date);// 1、设置4位数年份
date.setFullYear(2020);
console.log("setFullYear()方法,设置4位数年份:", date);// 2、设置月份(0-11,0代表一月)
date.setMonth(10);
console.log("setMonth()方法,设置月份:", date);// 3、设置月份中的某一天(1-31)
date.setDate(7);
console.log("setDate()方法,设置月份中的某一天:", date);// 4、设置小时数(0-23)
date.setHours(12);
console.log("setHours()方法,设置小时数:", date);// 5、设置分钟数(0-59)
date.setMinutes(24);
console.log("setMinutes()方法,设置分钟数:", date);// 6、设置秒数(0-59)
date.setSeconds(48);
console.log("setSeconds()方法,设置秒数:", date);// 7、设置毫秒数(0-999)
date.setMilliseconds(123);
console.log("setMilliseconds()方法,设置毫秒数:", date);console.log("设置完成后的日期:", date);

4、格式转换

(1)常用方法

序号方法描述
1toString()把 Date 对象转换为字符串;
2toDateString()把 Date 对象的日期部分转换为字符串;
3toTimeString()把 Date 对象的时间部分转换为字符串;
4toLocaleString()把 Date 对象,转换为本地时间格式的字符串;
5toLocaleDateString()把 Date 对象的日期部分,转换为本地时间格式的字符串;
6toLocaleTimeString()把 Date 对象的时间部分,转换为本地时间格式的字符串;
7toJSON()把 Date 对象转换为JSON 数据格式字符串;

8

toISOString()把 Date 对象转换为 ISO 标准的日期格式;

(2)使用示例

let date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);// 1、把 Date 对象转换为字符串;
console.log("toString()方法,转换为字符串:", date.toString());// 2、把 Date 对象的日期部分转换为字符串;
console.log("toDateString()方法,日期部分转换为字符串:", date.toDateString());// 3、把 Date 对象的时间部分转换为字符串;
console.log("toTimeString()方法,时间部分转换为字符串:", date.toTimeString());// 4、把 Date 对象,转换为本地时间格式的字符串;
console.log("toLocaleString()方法,转换为本地时间格式的字符串:", date.toLocaleString());// 5、把 Date 对象的日期部分,转换为本地时间格式的字符串;
console.log("toLocaleDateString()方法,日期部分转换为本地时间格式的字符串:", date.toLocaleDateString());// 6、把 Date 对象的时间部分,转换为本地时间格式的字符串;
console.log("toLocaleTimeString()方法,时间部分,转换为本地时间格式的字符串:", date.toLocaleTimeString());// 7、把 Date 对象转换为JSON 数据格式字符串;
console.log("toJSON()方法,转换为JSON 数据格式字符串:", date.toJSON());// 8、把 Date 对象转换为 ISO 标准的日期格式;
console.log("toISOString()方法,转换为 ISO 标准的日期格式:", date.toISOString());

 

5、获取时间戳

(1)常用方法

序号方法说明

1

Date.parse(new Date())13位,精确到秒;
2Math.round(new Date())13位,精确到毫秒;
3(new Date()).valueOf()13位,精确到毫秒;
4new Date().getTime()13位,精确到毫秒;
5+new Date()13位,精确到毫秒;

(2)使用示例 

// 1、使用Date.parse()
console.log("使用Date.parse()方法获取时间戳:", Date.parse(new Date()));// 2、使用Math.round()
console.log("使用Math.round()方法获取时间戳:", Math.round(new Date()));// 3、使用.valueOf()()
console.log("使用.valueOf()方法获取时间戳:", (new Date()).valueOf());// 4、使用.getTime()
console.log("使用.getTime()方法获取时间戳:", (new Date()).getTime());// 5、使用+new Date()
console.log("使用+new Date()方法获取时间戳:", +new Date());

三、格式化Date对象

不难发现,使用new Date()创建出来的日期对象,格式并不是想要的;

下面封装格式化日期的方法,供日常开发参考;

// 创建当前时间的日期对象
const date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);console.log(format1(date));
console.log(format2(date));
console.log(format3(date));
console.log(format4(date));
console.log(format5(date));
console.log(format6(date));
console.log(format7(date));// 1、输出日期:y:M:d(不补0)
function format1(date){const year = date.getFullYear();const month =  date.getMonth() + 1;const day = date.getDate();return year + '-' + month + '-' + day;
}// 2、输出日期:yyyy-MM-dd(补0)
function format2(date){let year = date.getFullYear();let month =  date.getMonth() + 1;let day = date.getDate();month = month < 10 ? "0" + month : month;day = day < 10 ? "0" + day : day;return year + '-' + month + '-' + day;
}// 3、输出时间:H:m:s
function format3(date){const hour = date.getHours();const minute = date.getMinutes();const second = date.getSeconds();return hour + ':' + minute + ':' + second;
}// 4、输出时间:HH:mm:ss
function format4(date){let hour = date.getHours();let minute = date.getMinutes();let second = date.getSeconds();hour = hour < 10 ? "0" + hour : hour;minute = minute < 10 ? "0" + minute : minute;second = second < 10 ? "0" + second : second;return hour + ':' + minute + ':' + second;
}// 5、输出完整日期:y-M-d H:m:s
function format5(date){const year = date.getFullYear();const month =  date.getMonth() + 1;const day = date.getDate();const hour = date.getHours();const minute = date.getMinutes();const second = date.getSeconds();return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}// 6、输出完整日期:yy-MM-dd HH:mm:ss
function format6(date){let year = date.getFullYear();let month =  date.getMonth() + 1;let day = date.getDate();let hour = date.getHours();let minute = date.getMinutes();let second = date.getSeconds();month = month < 10 ? "0" + month : month;day = day < 10 ? "0" + day : day;hour = hour < 10 ? "0" + hour : hour;minute = minute < 10 ? "0" + minute : minute;second = second < 10 ? "0" + second : second;return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}// 7、输出完整日期:yy-MM-dd HH:mm:ss week
function format7(date){let year = date.getFullYear();let month =  date.getMonth() + 1;let day = date.getDate();let hour = date.getHours();let minute = date.getMinutes();let second = date.getSeconds();let week = ['日', '一', '二', '三', '四', '五', '六'][date.getDay()];month = month < 10 ? "0" + month : month;day = day < 10 ? "0" + day : day;hour = hour < 10 ? "0" + hour : hour;minute = minute < 10 ? "0" + minute : minute;second = second < 10 ? "0" + second : second;return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second + ' 星期' + week;
}

======================================================================

每天进步一点点~!

Date对象在开发中属于高频点,没事可以多看看哦哦哦~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/362414.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode】六、哈希集合Set相关:存在重复元素判断 + MyHashSet设计

文章目录 1、Set集合2、Java中的Set集合3、leetcode217&#xff1a;存在重复元素4、P705&#xff1a;设计哈希集合 1、Set集合 无序&#xff1a;写进去的顺序和遍历读出来的顺序不一样不重复 主要作用&#xff1a;查看是否有重复元素&#xff08;给一个数组&#xff0c;转为…

信息技术课如何禁止学生玩游戏

在信息技术课上禁止学生玩游戏是一个常见的挑战&#xff0c;但可以通过一系列策略和工具来有效地实现。以下是一些建议&#xff1a; 明确课堂规则和纪律&#xff1a; (1)在课程开始时&#xff0c;明确告知学生课堂规则和纪律&#xff0c;包括禁止玩游戏的规定。 (2)强调遵守…

C#——this关键字详情

this关键字 在 C# 中&#xff0c;可以使用 this 关键字来表示当前对象&#xff0c;日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。 使用this表示当前类的对象 执行结果 使用 this 关键字串联构造函数 执行结果 使用 this 关键字作为类的索引器 执行结果 …

diffusion model(十八):diffusion model中negative prompt的工作机制

info个人博客主页http://myhz0606.com/article/ncsn 前置阅读&#xff1a; DDPM&#xff1a; http://myhz0606.com/article/ddpm classifier-guided&#xff1a;http://myhz0606.com/article/guided classifier-free guided&#xff1a;http://myhz0606.com/article/classi…

用Roofline模型去分析pytorch和Triton算子

用Roofline模型去分析pytorch和Triton算子 1.参考链接2.测试环境3.安装相关依赖4.锁频5.获取理论算力6.创建测试脚本7.运行测试程序生成Roofline图8.NVIDIA Nsight Compute生成Roofline9.效果图A.nn.LinearB.Triton实现 本文演示了如何用Roofline模型去分析pytorch和Triton算子…

Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案

前言 当你准备将Vue.js应用程序部署到生产环境时,一个关键的优化步骤是移除代码中的所有 console.log 语句以及断点。在开发阶段,console.log 是一个非常有用的调试工具,但在生产环境中保留它们可能会影响性能和安全性。在本文中,我将向你展示如何通过使用Vue CLI 2来自动…

【LLVM】学习使用PGO优化

笔者在查看PGO优化时看到了本站的这篇文章&#xff0c;其中代码和命令行部分贴上了序号&#xff0c;且命令行带上了$符号&#xff0c;不便于读者调试。 遂将代码重新整理到gitee&#xff0c;链接在此。 汇编代码分析 目前笔者使用的llvm版本为llvm-19&#xff0c;主要改动发生…

Postgresql从小白到高手 九 : psql高级查询及内部视图使用

Postgresql从小白到高手 九:pgsql 复杂查询及内部表高级查询 文章目录 Postgresql从小白到高手 九:pgsql 复杂查询及内部表高级查询一、多表查询二、pgsql内部表1.内部表2.内部表查询应用 一、多表查询 内联 &#xff1a;inner join on 简写 join on 结果集只有符合 筛选条件…

【Golang】Steam 创意工坊 Mod 文件夹批量重命名

本文将介绍一个使用Go语言编写的脚本&#xff0c;其主要功能是解析XML文件并基于解析结果重命名文件夹。这个脚本适用于需要对文件夹进行批量重命名&#xff0c;并且重命名规则依赖于XML文件内容的情况。 脚本功能概述 Steam创意工坊下载的Mod文件夹批量重命名为id名称 运行前…

maven仓库的作用以及安装 , DEA配置本地Maven

ay12-maven 主要内容 Maven的作用Maven仓库的作用Maven的坐标概念Maven的安装IDEA配置本地Maven 一、maven概述 1.1、项目开发中的问题 1、我的项目依赖一些jar包&#xff0c;我把他们放在哪里&#xff1f;直接拷贝到项目的lib文件夹中?如果我开发的第二个项目还是需要上面…

Linux系统编程(七)进程间通信IPC

进程间通讯的7种方式_进程间通信的几种方法-CSDN博客 管道 pipe&#xff08;命名管道和匿名管道&#xff09;&#xff1b;信号 signal&#xff1b;共享内存&#xff1b;消息队列&#xff1b;信号量 semaphore&#xff1b;套接字 socket&#xff1b; 1. 管道 内核提供&#x…

亿发进销存管理系统+:多终端无缝协同,实现经营销售场景全覆盖

亿发软件凭借产品、市场、业务的深入理解&#xff0c;在进销存基础上进行了延伸&#xff0c;推出多终端、一体化的“进销存管理系统”多元产品矩阵。对企业经营中进货、出货、销售、付款等进行全程跟踪管理。有效辅助企业解决业务管理、销售管理、库存管理、财务管理等一系列问…

如何做到高级Kotlin强化实战?(一)

高级Kotlin强化实战&#xff08;一&#xff09; 第一章 Kotlin 入门教程1.Kotlin 入门介绍2.Kotlin 与 Java 比较 第一章 Kotlin 入门教程 1.Kotlin 入门介绍 Kotlin 概述 Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言。它主要是 JetBrains 开发团队所开发出来的编程…

卸载vmware时2503,2502报错的解决办法

1.背景 windows 卸载vmware时&#xff0c;显示2503报错&#xff0c;无法完全卸载 2. 解决方案 2.1 参考安装报错2502&#xff0c;2503的处理方式 文献&#xff1a;https://blog.csdn.net/zhangvalue/article/details/80309828 2.1 步骤&#xff1a; 2.1.1 cmd 管理员打开…

实时美颜技术解析:视频美颜SDK如何改变直播行业

实时美颜技术的出现&#xff0c;尤其是视频美颜SDK的应用&#xff0c;正逐渐改变着直播行业的生态。 一、实时美颜技术的原理 实时美颜技术利用人工智能和图像处理算法&#xff0c;对视频中的人物面部进行优化和修饰。该技术通常包含以下几个步骤&#xff1a; 1.人脸检测和识…

MMCV【mmclassification】 从0到1 之 Docker 容器环境搭建步骤总结

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 📙 Linux 下 Docker 安装环境检查Docker 安装 [ root 或者 sudo 权限用户可安装 ]给 普通用户 加入 Docker …

RedisConnectionException: Unable to connect to localhost/<unresolved>:6379

方法一&#xff1a;删除配置密码选项 一般是因为你在启动redsi服务的时候没有以指定配置文件启动 把application.yml文件中的redis密码注释掉 方法二 以指定配置文件启动 这样就不用删除yml文件中密码的选项了 在redis,windows.conf 中找到requirepass&#xff0c;删除掉前…

python 识别图片点击,设置坐标,离设置坐标越近的优先识别点击

import pyautogui import cv2 import numpy as np import mathdef find_and_click(template_path, target_x, target_y, match_threshold0.8):"""在屏幕上查找目标图片并点击。Args:template_path: 目标图片的路径。target_x: 预设的坐标 x 轴值。target_y: 预设…

ComfyUI中运行Stable Audio Open,实现背景音乐、音效自由

&#x1f9e8;背景 stability在一个月之前默默的发布了Stable Audio Open 1.0的音频音效生成模型&#xff0c;不过好像影响力一般&#xff0c;也没有太多文章分享测试&#xff0c;而今天看comfyui作者的一篇介绍文档&#xff0c;他已经让comfyui默认支持了这个模型。 原开源地…

学分制系统 WebService_PantoSchool SQL注入致RCE漏洞复现

0x01 产品简介 学分制系统由上海鹏达计算机系统开发有限公司研发,是基于对职业教育特点和需求的深入理解,结合教育部相关文件精神,并广泛吸纳专家、学者意见而开发的一款综合性管理系统。系统采用模块化的设计方法,方便学校根据自身教学改革特点、信息化建设进程情况选择、…