如何使用JavaScript将数据库返回的datetime字符串拆分为日期和时间变量
拆分ISO格式时间字符串为日期和时间变量的最优方法
你拿到的created_at是标准ISO 8601格式的时间字符串,拆分的方法分两种,根据你的需求选最优的:
方法一:直接字符串分割(高效简单,适合仅拆分场景)
因为格式固定,直接按分隔符分割即可,不需要额外处理日期对象:
success: function(response){ let data = response; const dateStr = data[0].created_at; // 按'T'拆分出日期和带毫秒的时间部分 const [datePart, rawTime] = dateStr.split('T'); // 去掉时间部分末尾的毫秒和Z标识 const timePart = rawTime.split('.')[0]; console.log('日期:', datePart); // 输出:2022-08-25 console.log('时间:', timePart); // 输出:18:44:48 }
方法二:借助Date对象(适合需要后续日期操作的场景)
如果之后还要对日期时间做计算、时区转换等操作,用Date对象处理更灵活:
success: function(response){ let data = response; const dateStr = data[0].created_at; const dateObj = new Date(dateStr); // 提取日期部分 const datePart = dateObj.toISOString().split('T')[0]; // 提取时分秒,toTimeString()返回格式为 "HH:mm:ss GMT+xxxx...",取前8位即可 const timePart = dateObj.toTimeString().slice(0, 8); console.log('日期:', datePart); // 输出:2022-08-25 console.log('时间:', timePart); // 输出:18:44:48 }
选择建议
- 只是单纯拆分字符串,选方法一,性能更好,代码更直接;
- 需要对日期做进一步处理(比如加减天数、转换时区),选方法二,Date对象提供了丰富的API支持。
内容的提问来源于stack exchange,提问作者Cristyan Henrich
相关产品推荐
相关产品推荐

