我尝试在java中获取当前时间和小时:
import java.util.Calendar;
import java.util.Date;
public class Clock2
{
// instance variables - replace the example below with your own
private int minute;
private int hour;
private String daytime;
/**
* Constructor for objects of class Clock2
*/
public Clock2()
{
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
this.hour = Calendar.HOUR_OF_DAY;
this.minute = Calendar.MINUTE;
}
但不知怎的,现在13.33
我每小时11
12
我错了什么?感谢
答案 0 :(得分:7)
Calendar.HOUR_OF_DAY
和Calendar.MINUTE
只是整数常量,您必须使用它来获取日历实例的相应字段:
calendar.get(Calendar.HOUR_OF_DAY);
答案 1 :(得分:3)
使用
calendar.get(Calendar.MINUTE)
Calendar.HOUR_OF_DAY是常量
答案 2 :(得分:2)
你错误地得到小时和分钟。尝试。
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
答案 3 :(得分:1)
使用日历API不正确:
static int
字段,即Calendar.HOUR
。get(int field)
方法。答案 4 :(得分:1)
你的代码错了。你需要改变
int hour = Calendar.HOUR_OF_DAY;
int minute = Calendar.MINUTE;
通过
this.hour = calendar.get(Calendar.HOUR_OF_DAY);
this.minute = calendar.get(Calendar.MINUTE);
答案 5 :(得分:1)
给出了正确答案
import java.util.Calendar;
import java.util.Date;
public class Clock2 {
public static void main(String[] args) {
Clock clock = new Clock();
}
}
class Clock {
/**
* Constructor for objects of class Clock2
*/
private final int minute;
private final int hour;
public Clock() {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
hour = calendar.get(Calendar.HOUR_OF_DAY);
minute = calendar.get(Calendar.MINUTE);
System.out.println(hour + " " + minute);
}
}
答案 6 :(得分:0)
在java中获取当前时间
private String getDateTime() {
DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); // Choose your time format
Date date = new Date();
return dateFormat.format(date);
}
答案 7 :(得分:0)
尝试使用Joda Time而不是标准的java.util.Date类。 Joda Time库有更好的API处理日期。
DateTime dt = new DateTime(); // current time
int month = dt.getMonth(); // gets the current month
int hours = dt.getHourOfDay(); // gets hour of day
答案 8 :(得分:0)
您正在使用麻烦的旧日期时间类java.time类。现在取代了java.time类。特别是LocalTime
类。
需要时区来确定当前时间。在任何特定时刻,按地区划分的日期和时间各不相同。
ZoneId z = ZoneId.of( "America/Montreal" );
LocalTime lt = LocalTime.now( z );
int hour = lt.getHour();
int minute = lt.getMinute();