将“yyyyMMdd”格式的时间字符串转换为“yyyy-MM-dd HH:mm:ss”格式(Java)

date = DateUtils.parseDate(value, new String[]{"yyyyMMdd"});
value = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");


参考资料:

1、使用DateUtils和DateFormatUtils处理时间日期转换

http://blog.csdn.net/gengv/article/details/5007173

2、关于Apache Commons DateUtils类学习 

http://zhenghaoju700.blog.163.com/blog/static/1358595182011920104020352/

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用任何编程语言中的字符串处理函数和日期/时间库函数来实现这种转换。例如,在 Python 中,可以使用 strptime 函数将字符串解析为日期时间对象,再使用 strftime 函数将日期时间对象格式化为另一种字符串格式。 下面是一个 Python 示例代码: ``` from datetime import datetime date_string = "20230211/094530" date_format = "%Y%m%d/%H%M%S" # 解析字符串 dt = datetime.strptime(date_string, date_format) # 格式化日期时间对象 new_date_string = dt.strftime("%Y-%m-%d %H:%M:%S") print(new_date_string) ``` 输出结果为: ``` 2023-02-11 09:45:30 ``` ### 回答2: 要将yyyyMMdd/HHmmss格式转换yyyy-MM-dd HH:mm:ss格式,可以按照以下步骤进行操作: 1. 首先,将yyyyMMdd/HHmmss字符串按照斜杠"/"分割成两部分,即日期部分和时间部分。 2. 对于日期部分,可以使用substring方法从原字符串中提取出年、月和日的数字,并使用String.format方法将它们按照"-"格式化为两位数的字符串。例如,substring(0, 4)可以提取出四位数的年份,substring(4, 6)可以提取出两位数的月份,substring(6, 8)可以提取出两位数的日期。然后将这三个部分用"-"连接起来,得到标准的yyyy-MM-dd格式的日期字符串。 3. 对于时间部分,可以使用substring方法从原字符串中提取出小时、分钟和秒的数字,并使用String.format方法将它们按照":"格式化为两位数的字符串。例如,substring(9, 11)可以提取出两位数的小时,substring(11, 13)可以提取出两位数的分钟,substring(13, 15)可以提取出两位数的秒数。然后将这三个部分用":"连接起来,得到标准的HH:mm:ss格式时间字符串。 4. 最后,将日期字符串时间字符串用空格连接起来,得到完整的yyyy-MM-dd HH:mm:ss格式字符串。 例如,如果原字符串为"20211111/123456",经过以上步骤后,可以得到"2021-11-11 12:34:56"这样的标准格式字符串。 ### 回答3: 要将yyyyMMdd/HHmmss转换yyyy-MM-dd HH:mm:ss这种标准格式,可以按照以下步骤进行: 1. 首先,将输入的日期和时间字符串按照指定格式进行分割。日期部分使用substring方法获取yyyyMMdd格式字符串时间部分使用substring方法获取HHmmss格式字符串。 2. 接下来,将日期部分的字符串进行格式转换。可以使用SimpleDateFormat类将其转换为Date对象,然后再使用另一个SimpleDateFormat对象将Date对象格式化为yyyy-MM-dd格式字符串。 3. 然后,将时间部分的字符串进行格式转换。与日期部分类似,也是先将时间字符串转换为Date对象,再使用SimpleDateFormat对象将其格式化为HH:mm:ss格式字符串。 4. 最后,将日期和时间部分的字符串合并为一个完整的日期时间字符串,中间使用空格分隔。 下面是一个示例代码: ```java import java.text.SimpleDateFormat; import java.util.Date; public class DateTimeConverter { public static void main(String[] args) { String inputDateTime = "20220101/120000"; String inputDate = inputDateTime.substring(0, 8); String inputTime = inputDateTime.substring(9); SimpleDateFormat inputDateFormat = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat inputTimeFormat = new SimpleDateFormat("HHmmss"); SimpleDateFormat outputTimeFormat = new SimpleDateFormat("HH:mm:ss"); try { Date date = inputDateFormat.parse(inputDate); String formattedDate = outputDateFormat.format(date); Date time = inputTimeFormat.parse(inputTime); String formattedTime = outputTimeFormat.format(time); String outputDateTime = formattedDate + " " + formattedTime; System.out.println(outputDateTime); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上述示例代码中,我们使用了SimpleDateFormat类来进行日期和时间格式转换。其中,inputDateTime表示输入的日期时间字符串,inputDate表示日期部分的字符串,inputTime表示时间部分的字符串。 通过将日期和时间字符串分别转换为Date对象,再使用格式化的SimpleDateFormat对象将其转换为想要的格式,最终得到了yyyy-MM-dd HH:mm:ss格式的日期时间字符串。 注意,示例代码中的日期和时间的分割位置可能需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值