从字符串转换为特定的 HH:mm 日期格式
Converting from String to specific HH:mm date format
我有一个字符串对象,它以 HH:mm 格式存储当前系统时间。我必须将其转换为 DATE 对象并保持相同的 HH:mm 格式。这怎么能做到。
我尝试使用日期解析选项,但每次我得到的响应都是完整的 dd-MM-yyyy HH:mm:ss 格式,而不是所需的 HH:mm 格式。
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String getCurrentTime = sdf.format(Calendar.getInstance().getTime());
Date date = sdf1.parse(getCurrentTime);
预期输出应该是 HH:mm 格式的日期结果。
您期望 parse
的输出是 HH:mm
格式的 Date
对象,但情况永远不会是这样,因为它最终是 Date
对象.它将包含日期、月份、年份、时间等信息,即用于存储日期和时间信息。
您使用 format
方法获得信息 HH:mm
,它确实为您提供了该信息
如果您只需要小时和分钟的信息,我建议您创建一个新的 class 并根据 format
方法
的输出填充它的值
使用 java.time.LocalTime
而不是 Date
。示例:
LocalTime localTime = LocalTime.now();
此 class 不存储和表示日期或时区。您可以使用 LocalTime.now()
和 LocalTime.of()
方法分别创建当前时间和特定时间对象。
您可以使用LocalTime
class的getHour()
、getMinute()
和getSecond()
方法分别获取小时、分钟和秒。
您可以使用 LocalTime
class 的 plus
和 minus
方法来增加或减少小时、分钟等
您可以使用 LocalTime
class 的 compareTo()
、isAfter()
和 isBefore()
方法来比较 LocalTime
对象。
如评论中所述,Date 是一个对象。换句话说 Date/Time API:
LocalTime time = LocalTime.now(); //current time
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); //set format
System.out.println(time.format(formatter));
这是使用 java8 日期和时间 API:
解决此问题的简单示例
DateTimeFormatter parser1 = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalDateTime ldd1 = LocalDateTime.now();
System.out.println("DateTimeFormatter ldd1 = " + parser1.format(ldd1));
我有一个字符串对象,它以 HH:mm 格式存储当前系统时间。我必须将其转换为 DATE 对象并保持相同的 HH:mm 格式。这怎么能做到。
我尝试使用日期解析选项,但每次我得到的响应都是完整的 dd-MM-yyyy HH:mm:ss 格式,而不是所需的 HH:mm 格式。
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String getCurrentTime = sdf.format(Calendar.getInstance().getTime());
Date date = sdf1.parse(getCurrentTime);
预期输出应该是 HH:mm 格式的日期结果。
您期望 parse
的输出是 HH:mm
格式的 Date
对象,但情况永远不会是这样,因为它最终是 Date
对象.它将包含日期、月份、年份、时间等信息,即用于存储日期和时间信息。
您使用 format
方法获得信息 HH:mm
,它确实为您提供了该信息
如果您只需要小时和分钟的信息,我建议您创建一个新的 class 并根据 format
方法
使用 java.time.LocalTime
而不是 Date
。示例:
LocalTime localTime = LocalTime.now();
此 class 不存储和表示日期或时区。您可以使用 LocalTime.now()
和 LocalTime.of()
方法分别创建当前时间和特定时间对象。
您可以使用LocalTime
class的getHour()
、getMinute()
和getSecond()
方法分别获取小时、分钟和秒。
您可以使用 LocalTime
class 的 plus
和 minus
方法来增加或减少小时、分钟等
您可以使用 LocalTime
class 的 compareTo()
、isAfter()
和 isBefore()
方法来比较 LocalTime
对象。
如评论中所述,Date 是一个对象。换句话说 Date/Time API:
LocalTime time = LocalTime.now(); //current time
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss"); //set format
System.out.println(time.format(formatter));
这是使用 java8 日期和时间 API:
解决此问题的简单示例 DateTimeFormatter parser1 = DateTimeFormatter.ofPattern("HH:mm:ss");
LocalDateTime ldd1 = LocalDateTime.now();
System.out.println("DateTimeFormatter ldd1 = " + parser1.format(ldd1));