处理格式化时间后 时区误差8小时的问题

复制代码
 1 function formatTime(mdate, fmt) {
 2 if (fmt == undefined) {
 3 fmt = 'yyyy-MM-dd hh:mm:ss'
 4 }
 5 if (mdate == '') {
 6 return ''
 7 }
 8 var date = new Date((mdate+"").replace("T", " ").replace(/-/g,'/'));   //这里处理的时候需要注意 苹果IOS 不支持 2020-12-10 08:12:30  这种形式转换为Date类型 必须转换为 2020/12/10 08:12:30 的形式
 9 if (/(y+)/.test(fmt)) {
10 fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
11 }
12 let o = {
13 'M+': date.getMonth() + 1,
14 'd+': date.getDate(),
15 'h+': date.getHours(),
16 'm+': date.getMinutes(),
17 's+': date.getSeconds()
18 };
19 for (let k in o) {
20 if (new RegExp(`(${k})`).test(fmt)) {
21 let str = o[k] + '';
22 fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length));
23 }
24 }
25 return fmt;
26 }
复制代码

 

 

1.如果时间中间带有T 符号,在转换为时间会多8小时 我们需要首先 将字符串中的T 替换掉

2.苹果IOS系统不支持 将 2020-12-12 00:00:00 格式的字符串直接转换为时间 必须使用 2020/12/12 00:00:00 形式的字符串转换为时间格式

所以使用 上面代码框中的方法是可以实现 兼容性的方法

 

posted @   ★Angel★  阅读(993)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示