JavaScript 如何操作时间转换格式设置

开发 前端
match方法尝试匹配字符串中的模式。如果成功,返回一个数组,其中第一个元素是整个匹配的字符串,接下来的元素是捕获组(即括号内的部分)。

图片图片

1. javascript 如何操作时间转换格式设置

1.1. javascript 如何把date 时间 格式化成 yyyy-mm-dd格式

在JavaScript中,可以使用多种方法将Date 对象格式化为yyyy-mm-dd 格式的字符串。

以下是几种常见的方法:

1.2. 方法一:使用toISOString 和slice 方法

Date 对象的toISOString 方法会返回一个 ISO 8601 格式的字符串,例如2023-04-01T00:00:00.000Z。

我们可以使用slice 方法截取前10个字符来获取yyyy-mm-dd 格式的日期。

functionformatDate(date){return date.toISOString().slice(0,10);}// 测试const date=newDate('2023-04-01');const formattedDate=formatDate(date);console.log(formattedDate);// 输出: 2023-04-01

1.3. 方法二:手动拼接

我们也可以手动从Date 对象中提取年、月、日,并使用模板字符串进行拼接。

functionformatDate(date){const year= date.getFullYear();const month=String(date.getMonth()+1).padStart(2,'0');// 月份从0开始,需要加1const day=String(date.getDate()).padStart(2,'0');return`${year}-${month}-${day}`;}// 测试const date=newDate('2023-04-01');const formattedDate=formatDate(date);console.log(formattedDate);// 输出: 2023-04-01

1.4. 方法三:使用第三方库(如 moment.js 或 day.js)

如果你的项目中已经使用了第三方日期处理库,如moment.js 或day.js,可以更方便地进行格式化。

1.4.1. 使用moment.js

const moment=require('moment');functionformatDate(date){returnmoment(date).format('YYYY-MM-DD');}// 测试const date=newDate('2023-04-01');const formattedDate=formatDate(date);console.log(formattedDate);// 输出: 2023-04-01

1.4.2. 使用day.js

const dayjs=require('dayjs');functionformatDate(date){returndayjs(date).format('YYYY-MM-DD');}// 测试const date=newDate('2023-04-01');const formattedDate=formatDate(date);console.log(formattedDate);// 输出: 2023-04-01

1.5. 总结

  • 方法一:适用于简单的场景,不需要额外的逻辑。
  • 方法二:灵活性高,适合需要更多自定义的情况。
  • 方法三:使用第三方库,代码更简洁,功能更强大。

选择哪种方法取决于你的具体需求和项目环境。

2. javascript 如何把 yyyy-mm-dd 格式数据转换成 yyyy 年 mm 月 dd 日格式

在JavaScript中,将yyyy-mm-dd格式的日期字符串转换为yyyy年mm月dd日格式可以通过字符串操作来实现。

这里提供一个简单的方法来完成这个转换:

functionformatDate(dateStr){// 首先检查输入是否符合预期的格式if(!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)){thrownewError('Invalid date format, expected: yyyy-mm-dd');}// 使用split方法按照'-'分割字符串,得到一个包含年月日的数组const[year, month, day]= dateStr.split('-');// 拼接成新的格式return`${year}年${month}月${day}日`;}// 测试const formattedDate=formatDate('2023-04-01');console.log(formattedDate);// 输出: 2023年04月01日

这段代码首先定义了一个函数formatDate,该函数接收一个日期字符串作为参数。然后使用正则表达式检查输入的日期字符串是否符合yyyy-mm-dd的格式。如果不符合,就抛出错误。接着,利用split方法将字符串按照-分割成一个数组,数组中的元素分别对应年、月、日。最后,通过模板字符串(template literals)将这些值重新组合成yyyy年mm月dd日的格式。

你可以根据需要调整这个函数,比如添加对月份和日子前导零的处理,或者处理其他可能的输入异常情况。

3. javascript 如何把yyyy年mm月dd日格式数据转换成yyyy-mm-dd 格式

要将yyyy年mm月dd日格式的日期字符串转换为yyyy-mm-dd格式,可以使用字符串操作方法来提取年、月、日,并重新组合。

以下是一个示例函数,演示了如何进行这种转换:

functionparseChineseDate(dateStr){// 使用正则表达式匹配并捕获年、月、日const match= dateStr.match(/^(\d{4})年(\d{2})月(\d{2})日$/);// 如果匹配失败,抛出错误if(!match){thrownewError('Invalid date format, expected: yyyy年mm月dd日');}// 提取年、月、日const year= match[1];const month= match[2];const day= match[3];// 重新组合成yyyy-mm-dd格式return`${year}-${month}-${day}`;}// 测试const formattedDate=parseChineseDate('2023年04月01日');console.log(formattedDate);// 输出: 2023-04-01

3.1. 解释:

  • 正则表达式:^(\d{4})年(\d{2})月(\d{2})日$用于匹配yyyy年mm月dd日格式的字符串。它确保字符串以四位数字开始(年),后面跟着“年”,然后是两位数字(月),后面跟着“月”,再后面是两位数字(日),最后以“日”结束。
  • match方法:match方法尝试匹配字符串中的模式。如果成功,返回一个数组,其中第一个元素是整个匹配的字符串,接下来的元素是捕获组(即括号内的部分)。
  • 提取年、月、日:从匹配结果中提取年、月、日的值。
  • 重组字符串:使用模板字符串将年、月、日重新组合成yyyy-mm-dd格式。

这个函数会检查输入的日期字符串是否符合预期的格式,如果不符则会抛出错误。你可以根据需要进一步优化或扩展这个函数。

责任编辑:武晓燕 来源: 前端爱好者
相关推荐

2021-10-15 09:00:02

Python日期转换Python基础

2009-07-31 14:09:41

c#时间格式转换

2009-01-19 09:28:42

JSONJavaScriptJSON结构

2023-09-13 18:28:00

Nginx日志JSON

2021-04-22 07:41:46

JavaScript类型转换

2009-12-24 15:59:46

WPF图像格式

2023-07-07 09:04:18

JavaScript时间操作

2009-07-30 15:57:30

C#时间

2010-01-06 14:36:04

JSON插件

2010-01-05 14:49:03

JSON格式

2011-08-22 10:59:42

SQL Server日期时间格式转换字符串

2011-09-01 18:29:10

Ubuntu

2013-07-29 04:57:47

iOS开发iOS开发学习时间设置和格式输出

2010-09-14 14:32:02

sql server日

2010-05-11 10:22:43

Mysql日期

2009-06-22 11:52:00

javascriptxml

2020-04-06 20:30:37

JavaScriptBoolean开发

2016-08-04 11:11:08

PythonMatplotlib绘图

2010-09-08 16:50:11

JavaScriptDOM操作

2023-01-17 14:01:19

JavaScript类型转换字符串
点赞
收藏

51CTO技术栈公众号