Android:获取当前日期和时间

时间:2014-01-26 05:19:22

标签: android date calendar

我正在尝试使用以下代码获取今天的日期和时间

SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy HH:mm");
String currentDateandTime = sdf.format(new Date());

但结果是

26/15/2014 13:15而不是26/1/2014 13:15

有什么问题?

谢谢!

5 个答案:

答案 0 :(得分:0)

用MM替换第一个mm。查看http://developer.android.com/reference/java/text/SimpleDateFormat.html

上的文档
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
String currentDateandTime = sdf.format(new Date());

答案 1 :(得分:0)

答案 2 :(得分:0)

替换dd / mm / yyyy

by dd / MM / yyyy

月份的资本M. 分钟小米

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
String currentDateandTime = sdf.format(new Date());

答案 3 :(得分:0)

您的格式错误"dd/mm/yyyy HH:mm"它应该是"dd/MM/yyyy HH:mm",请注意 MM

而不是SimpleDateFormat使用DateFormat

因为SimpleDateFormat已弃用

android.text.format.DateFormat dateFormat= new android.text.format.DateFormat();
dateFormat.format("dd/MM/yyyy HH:mm", new java.util.Date());

答案 4 :(得分:0)

您应该使用正确的格式

<小时 几分钟 秒 S分数秒 上午/下午标记 每月的d 一年中的一个月 一年 w一年中的一周

 String[] formats = new String[] {
   "yyyy-MM-dd",
   "yyyy-MM-dd HH:mm",
   "yyyy-MM-dd HH:mmZ",
   "yyyy-MM-dd HH:mm:ss.SSSZ",
   "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
 };
 for (String format : formats) {
   SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
   System.out.format("%30s %s\n", format, sdf.format(new Date(0)));
   sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
   System.out.format("%30s %s\n", format, sdf.format(new Date(0)));
 }

,输出

                 yyyy-MM-dd 1969-12-31
                 yyyy-MM-dd 1970-01-01
           yyyy-MM-dd HH:mm 1969-12-31 16:00
           yyyy-MM-dd HH:mm 1970-01-01 00:00
          yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
          yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
   yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
   yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000

在America / Los_Angeles时区中运行时产生上述输出:

了解更多here