Java :从 java.sql.Time 中删除秒数无效
Java : Remove seconds from java.sql.Time not working
我正在开发一个 Java 应用程序,我试图在打印它之前删除 java.sql.Time
对象的秒部分。我尝试使用 SimpleDateFormat
并提供 HH:MM
和 HH:mm
,但它给了我奇怪的结果,其中包括时区。如何从没有秒数的时间对象中获取字符串。我可以执行 REGEX 并简单地删除 2nd :
之后的部分,但我希望有比这更好的东西。谢谢。
代码:
SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
Date formattedDate = sdf.parse(TimeObject.getTargetTime().toString());
String msgToPring= "Message "+formattedDate;
当前输出:
Thu Jan 01 14:15:00 IST 1970
我在其他 SO 链接上尝试了一些建议,但其中 none 似乎解决了这个问题。
您正在解析日期(从字符串创建新的日期对象),但您实际要做的是格式化它(从现有日期创建字符串表示):
SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
String dateString = sdf.format(TimeObject.getTargetTime());
String msgToPring = "Message "+dateString;
注意:这只会创建打印出小时和秒的日期对象的字符串表示形式。您的原始 Date 对象不会更改,并且仍然具有完整的日期信息。
我正在开发一个 Java 应用程序,我试图在打印它之前删除 java.sql.Time
对象的秒部分。我尝试使用 SimpleDateFormat
并提供 HH:MM
和 HH:mm
,但它给了我奇怪的结果,其中包括时区。如何从没有秒数的时间对象中获取字符串。我可以执行 REGEX 并简单地删除 2nd :
之后的部分,但我希望有比这更好的东西。谢谢。
代码:
SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
Date formattedDate = sdf.parse(TimeObject.getTargetTime().toString());
String msgToPring= "Message "+formattedDate;
当前输出:
Thu Jan 01 14:15:00 IST 1970
我在其他 SO 链接上尝试了一些建议,但其中 none 似乎解决了这个问题。
您正在解析日期(从字符串创建新的日期对象),但您实际要做的是格式化它(从现有日期创建字符串表示):
SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
String dateString = sdf.format(TimeObject.getTargetTime());
String msgToPring = "Message "+dateString;
注意:这只会创建打印出小时和秒的日期对象的字符串表示形式。您的原始 Date 对象不会更改,并且仍然具有完整的日期信息。