我正在尝试使用以下代码获取今天的日期和时间
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
有什么问题?
谢谢!
答案 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