SimpleDateFormat格式化后,月份出现错误

[code="java"]
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Locale;

public class CommonUtil {
public static Timestamp getDate(){
Timestamp time=new Timestamp(System.currentTimeMillis());
System.out.println("time: "+time);

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
String timeStr=sdf.format(time);

System.out.println("timeStr: "+timeStr);
return time;
}
public static void main(String[] args){
System.out.println(getDate());
}
}
[/code]
输出结果:
time: 2013-03-27 22:11:59.244
timeStr: 2013-11-27 10:11:59
2013-03-27 22:11:59.244
这里月份出现错误,是什么原因?

iteye_1087
iteye_1087 谢谢你们啊,不过分只能给一个人
接近 7 年之前 回复

6个回答

Timestamp time=new Timestamp(System.currentTimeMillis());

System.out.println("time: "+time);

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String timeStr=sdf.format(time);

System.out.println("timeStr: "+timeStr);

return time;

mm-MM hh-HH

lj830723
lj830723 大写是关键,顶一个
接近 7 年之前 回复

没仔细看api么 月份的M是大写的

yyyy-mm-dd hh:mm:ss
改为yyyy-MM-dd HH:mm:ss

应该是yyyy-MM-dd HH:mm:ss

SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

MM是月份,mm是分钟

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问