getMinutes,getHour和getseconds被淘汰了?

时间:2018-03-15 21:19:16

标签: java time timestamp datetime-format

public Timestamp Timestamp() {
    int hours = new Timestamp(System.currentTimeMillis()).getHours();
    int minutes = new Timestamp(System.currentTimeMillis()).getMinutes();
    int seconds = new Timestamp(System.currentTimeMillis()).getSeconds();

    String activity = "\n" + minutes + ":" + hours + ":" + seconds;

    return null;
}

getHoursgetMinutesgetSeconds方法会受到影响并且不起作用?

我正在尝试将时间戳存储到txt文件中,并在其他地方调用它来创建活动日志。

1 个答案:

答案 0 :(得分:2)

当您使用System.currentTimeMillis()时,我假设这是Java。并且通过" stricken out" ,你的意思是方法名称在IDE中对它们进行了攻击吗?

如果是这种情况,则意味着不推荐使用这些方法。实际上,Timestamp inherits those methods from Date,那些是deprecated since Java 1.1

如果您希望将当天的当前时间格式化为String,建议您使用new date/time API。在Java 8及更高版本中,这些是java.time包中的本机。对于较低版本,您可以使用Threeten Backportorg.threeten.bp包中将提供相同的类:

// current time
LocalTime now = LocalTime.now();
// formatter (hours:minutes:seconds)
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("HH:mm:ss");
// format the LocalTime to String        
String activity = now.format(fmt);

我使用了格式HH:mm:ss,这意味着"小时:分钟:秒" (与您使用的顺序不同:"分钟:小时:秒"),以及2位数(因此" 9"变为" 09")。如果这不是您需要的确切格式,check in the javadoc如何获得不同的格式。