js 对 date 和 字符串 类型的正确互换【各浏览器兼容】,解决invalid Date
1.前言
有个需求,想要把指定日期时间的字符串转换成date类型
pc浏览器正常转换,但手机浏览器 返回结果是 invalid Date 【无效的日期】
2.原因
出现这样不兼容的原因其实很简单,
pc浏览器可以识别 日期时间格式 :yyyy-MM-dd hh:mm:ss ,但是手机浏览器却不行 ,
手机浏览器只能识别 yyyy/MM/dd hh:mm:ss
没错,就是分隔符的问题 , 将 - 换成 / 即可
3.使用源码-心得
(1)获取当前时间
let now = new Date();
(2)指定日期字符串转date
let timeStr = "2020/4/9 12:37:22"
let da1 = new Date(timeStr);
(3)指定日期字符串转时间戳,有两种方法
let timeStr = "2020/4/9 12:37:22"
方法一:
let da2 = new Date(timeStr);
let timeStamp = da2.getTime();
方法二:
let timeStamp =Data.parse(timeStr);
(4)时间戳转字符串 【字符格式可以随意组合】
/** * 时间戳转换成日期 */ function changeTime(timestamp) { if (timestamp != null) { //时间戳为10位需*1000,时间戳为13位的话不需乘1000 let date = new Date(timestamp); let Y = date.getFullYear() + '/'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '/'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) ; return Y + M + D; } else { return ""; } }
/** * 时间戳转换成日期时间 */ function changeTime(timestamp) { if (timestamp != null) { //时间戳为10位需*1000,时间戳为13位的话不需乘1000 let date = new Date(timestamp); let Y = date.getFullYear() + '-'; let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); return Y + M + D + h + m + s; } else { return ""; } }
本文来自博客园,作者:岑惜,转载请注明原文链接:https://www.cnblogs.com/c2g5201314/p/12666161.html
响应开源精神相互学习,内容良币驱除劣币
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话