java 日期转换24h制变为12h制

java 日期转换24h变为12h

问题描述

在开发的时候,有String类型转换为Date类型,加了个小时,然后再转换成String类型,这时候发生了时间精度丢失的问题。
比如:“2022-07-25 14:00:00"转换后就成了"2022-07-24 02:00:00”
应该是24h制变成了12h制

问题原因

排查了后没在网上找到相关丢失精度问题,再仔细排查代码后,发现:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

我的日期格式,在小时这一截,是小写的,即"hh",而网上几乎都是大写"HH"
修改日期格式,问题解决

时间转换相关补充

// 设立初试时间
String startTime = "2022-07-25 14:00:00";
// 设立增加时间
Double addTime = 4.000;

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

// String类型转换为Date类型
Date date = formatter.parse(startTime);
// 增加时间
Date date2 = addHour(date, addTime.intValue());

System.out.println("第一个时间" + date);
// Date格式转换为String格式
System.out.println("第二个时间" + formatter.format(date));
System.out.println("第三个时间" + formatter.format(date2));
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值