在java中获取正确的本地时间(日历)

我使用这种方法来获取当地时间:

Calendar cal = Calendar.getInstance(); String time= new SimpleDateFormat("dd MMM yyyy HH:mm:ss").format(cal.getTime()); 

我的问题是,下午这个方法让我回到了例如“11:15”,但它已经是“23:15”了。 我希望我的desc不会混淆。

我想找回下午的价值观:12:MM,13:MM,14:MM ..等到23:MM。 。 。

我应该改变什么?

  1. 您确定PC上的时间或您正在使用的任何程序是正确的吗?

  2. 尝试使用公历:

     new GregorianCalendar().getTime() 
  3. 确保你有这些导入:

     import java.util.Date; import java.util.GregorianCalendar; 

希望有所帮助。

你可以试试这样的东西:

 Date date=new Date(); System.out.println(new SimpleDateFormat("yyyy.MM.dd HH:mm").format(date)); 

输出示例:

2013.03.05 22:07

我猜你会把时区混在一起。 使用系统的默认语言环境获取日历:

 Calendar cal = Calendar.getInstance(Locale.getDefault()); 

你正在使用HH标志。 请尝试使用kk标志。

例如, kk:mm而不是HH:mm