Android使用SimpleDateFormat不同手机有时格式化手机不准确

这篇博客主要讨论了在Android中使用SimpleDateFormat进行日期格式化时遇到的问题,即在不同手机上显示的日期不一致,原因是默认时区设置。作者提供了两种解决方案:一是用户手动将手机时区设置为GMT+08:00;二是代码中通过设置SimpleDateFormat的时区为"GMT+08:00"来确保格式化准确。
废话不多说,先上代码
/**
 * 格式格式化日期
 *
 * @param date   日期
 * @param format 日期格式
 * @return
 */
public static String dateToStr(Date date, String format) {
    String sdate = "";
    if (date != null) {
        SimpleDateFormat df = new SimpleDateFormat(format, Locale.getDefault());
        sdate = df.format(date);
    }
    return sdate;
}
我通常都是使用这个方法做到日期格式化的,但是今天无意间发现在两款手机上显示的数据不同,找了好长时间,原来是因为默认时区问题。
解决方法如下:
方法1:
你可以直接在手机找到设置--->时间和日期-->时区 修改为中国标准时间GMT+08.00即可。。。
方法2:
在这行代码sdate = df.format(date);前添加一行代码:
			//SimpleDateFormat格式化时间不准确的问题 加上这行代码就OK了
			df.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));

				    修改Android系统时区即可。。。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值