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

时间:2013-03-05 07:58:51

标签: java android-calendar

我使用此方法获取当地时间:

 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。 。

我应该改变什么?

4 个答案:

答案 0 :(得分:4)

  1. 您确定PC上的时间或用于编程的任何内容都是正确的吗?

  2. 尝试使用公历:

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

    import java.util.Date;
    import java.util.GregorianCalendar;
    
  4. 希望有所帮助。

答案 1 :(得分:2)

你可以尝试这样的事情:

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

输出示例:

  

2013.03.05 22:07

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

您正在使用HH标记。请尝试使用kk标记。

例如,kk:mm代替HH:mm