Java 使用SimpleDataFormat转换数据格式
我需要将日期格式转换为新的日期格式。我想像这样展示2016年6月28日,但不管我过了多少个月,它都展示了1月。请查查我失踪的地方Java 使用SimpleDataFormat转换数据格式,java,date,simpledateformat,Java,Date,Simpledateformat,我需要将日期格式转换为新的日期格式。我想像这样展示2016年6月28日,但不管我过了多少个月,它都展示了1月。请查查我失踪的地方 public class DateClass { public static void main(String[] args) { final String OLD_FORMAT = "yyyy-mm-dd"; final String NEW_FORMAT = "MMMM dd,yyy
public class DateClass {
public static void main(String[] args)
{
final String OLD_FORMAT = "yyyy-mm-dd";
final String NEW_FORMAT = "MMMM dd,yyyy";
String oldDateString = "2016-06-28";
String newDateString;
SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d;
try {
d = sdf.parse(oldDateString);
sdf.applyPattern(NEW_FORMAT);
newDateString = sdf.format(d);
System.out.println(""+newDateString);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
您的
OLD_u2;FORMAT
错误,应该是“yyyy MM dd”
。此处,小的m
应替换为大写的m
,因为小的m
表示分钟,m
表示月份,并且在使用旧格式进行解析时,日期被错误解析 您使用的是mm
格式的OLD\u
,表示分钟。您希望有代表月份的MM
因此,您的旧\u格式应为yyyy-MM-dd
在您的情况下,分钟设置为0
,因此月份为一月。在java中,mm表示小步舞曲,mm表示月份,因此您必须根据需要更改代码
final String OLD_FORMAT = "yyyy-MM-dd";
final String NEW_FORMAT = "MMMM dd,yyyy";
String oldDateString = "2016-06-28";
换这个
final String OLD_FORMAT = "yyyy-mm-dd";
到
我明白了,谢谢大家。。。最终字符串OLD_FORMAT=“yyyy-mm-dd”;应替换为最终字符串OLD_FORMAT=“yyyy-MM-dd”;谢谢你的解释
final String OLD_FORMAT = "yyyy-MM-dd";