java解析Excel日期格式转换问题

这篇博客解决了在导入Excel数据时遇到的时间格式转换问题。当时间数据以五位数字符串形式出现时,常规时间戳转换方法无效。文中提供了一个Java方法,用于将这种特殊格式的日期字符串解析为Date对象,涉及到关键步骤包括计算系统时区偏移和转换天数为毫秒数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在导入excel的数据的时候遇见一个问题就是导入excel的时间的时候,获取到的是五位数的字符串,这让我措手不及,然后使用平常转换时间戳的办法进行转换发现竟然不行,这还是算了吧。果断度娘助我渡过。看到满意答案-摘抄如下:

/*
	 * 解析Excel日期格式
	 */
	public static Date ExcelDoubleToDate(String strDate) {
		Date tDate = new Date();
		if (strDate.length() == 5) {
			tDate = DoubleToDate(Double.parseDouble(strDate));
		}
		return tDate;
	}

	/*
	 * 解析Excel日期格式
	 */
	public static Date DoubleToDate(Double dVal) {
		Date tDate = new Date();
		long localOffset = tDate.getTimezoneOffset() * 60000; // 系统时区偏移 1900/1/1
																// 到 1970/1/1 的
																// 25569 天
		tDate.setTime((long) ((dVal - 25569) * 24 * 3600 * 1000 + localOffset));

		return tDate;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值