时间在iphone中显示NaN

时间在iphone中显示NaN问题

问题背景

​ 今天公司的公众号测试中,业务人员发现时间显示NaN,当时其他人手机都正常,然后发现是苹果手机,随后去了解怎么去解决显示问题。

解决方案

​ 原来后台返回来的数据是createTime=”2024-07-22 12:12:00”,iphone手机是不能对这种格式的时间进行格式化,需要把-改成/,解决可以调用formatDate(time, “yyyy-MM-dd”)方法。

date = date.replace(/-/g,'/');

​ 另外也需要去判断登录的手机是否是Iphone,可以利用Java提供的API判断设备类型,然后在进行进一步的处理,设备在发送HTTP请求时,请求头上会携带User-Agent信息,该信息可以用来描述设备的类型和操作系统版本.通过解析User-Agent来判断设备类型.

Java中可以使用ServletAPI的HttpServletRequest获取User-Agent信息,代码示例如下.

import javax.servlet.http.HttpservletRequest;
public class Deviceutils {
	public static boolean isAndroid(HttpservletRequest request) {
		string userAgent = request.getHeader( "User-Agent");
		return userAgent != null && userAgent.toLowerCase( ).contains( "android");
	}
	public static boolean isIphone(HttpServletRequest request) {
        string userAgent = request.getHeader( "User-Agent");
        return userAgent != null && userAgent.toLowerCase( ).contains("iphone");
	}
}

时间在iphone中显示NaN
http://example.com/2024/07/22/时间在iphone中显示NaN/
作者
Zhangqs
发布于
2024年7月22日
许可协议