我有一个DateTime对象DT,它存储当前时间。当我打印DT时,我希望它只打印时间部分,即HH-MM-SS(H =小时,M =分钟,S =秒)并忽略日期部分。
我该怎么做?就此而言,是否甚至可以创建一个日期时间对象,该对象仅包含HH-MM-SS且与日期无关?如果这是真的,那么我可以简单地打印它而不是提取HH-MM-SS部分。
感谢。
答案 0 :(得分:3)
如果您只想要时间,则应使用LocalTime
代替DateTime
。您可以使用DateTime.toLocalTime()
获取现有DateTime
的时间部分。
如果您确实要保留DateTime
但仅在格式化时显示时间部分,则可以使用仅包含时间部分的模式创建DateTimeFormatter
,但我通常认为这是一种设计气味。
答案 1 :(得分:0)
您可以使用java.util.Date包中的Java日期格式化程序。
喜欢:
Date todaysDate = new java.util.Date(); 1. // Formatting date into yyyy-MM-dd HH:mm:ss e.g 2008-10-10 11:21:10 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formattedDate = formatter.format(todaysDate); 2. // Formatting date into yyyy-MM-dd e.g 2008-10-10 formatter = new SimpleDateFormat("yyyy-MM-dd"); formattedDate = formatter.format(todaysDate); 3. // Formatting date into MM/dd/yyyy e.g 10/10/2008 formatter = new SimpleDateFormat("MM/dd/yyyy"); formattedDate = formatter.format(todaysDate);
答案 2 :(得分:0)
使用Java,你可以这样做
Date obj = new Date() ;
System.out.println(new SimpleDateFormat("hh:mm:ss").format(obj)) ;
但这可能是一个昂贵的电话。 但是jodatime给出了LocalTime,你可以试试。