时间在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/