我有一个这样的字符串210115
我想将其表示为21:01:15
任何想法?
我尝试使用阳历,但它添加了我不想要的日期
SimpleDateFormat sdf = new SimpleDateFormat("HHmmss");
Date date = new Date();
try{
date = sdf.parse("210115");
}
catch(Exception e){
}
Calendar calendar = GregorianCalendar.getInstance();
calendar.setTime(date);
System.out.print(calendar.getTime());
输出为Thu Jan 01 21:01:15 UTC 1970
,但我想要的只是21:01:15
感谢。
答案 0 :(得分:2)
要输出格式化日期,请使用另一个SimpleDateFormat
对象,其格式为所需格式。
在这种情况下,听起来你可能想要使用类似的东西
SimpleDateFormat outputFormat = new SimpleDateFormat("HH:mm:ss");
System.out.println( outputFormat.format(date) );
答案 1 :(得分:2)
所以你想要的只是一个时间,没有时区。我建议使用LocalTime
类,而不是Date
类。
LocalTime time = LocalTime.parse("210115", DateTimeFormatter.ofPattern("HHmmss"));
答案 2 :(得分:0)
如果您以“ 210115 ”这种格式获取日期字符串,并且您希望它采用“ 21:01:15 ”格式,那么为什么使用日期格式。 只需将字符串操作作为:
String time="210115";
String newtime=time.substring(0,2)+":"+time.substring(2,4)+":"+time.substring(4,6);
System.out.println(newtime);
您将获得所需的格式。 21:01:15