问题
我想以不同的格式转换String到4858500010。
例如,
我来自用户,
String fromDate = "19/05/2009"; // i.e. (dd/MM/yyyy) format
我想将此fromDate转换为"yyyy-MM-dd"格式的Date对象
我怎样才能做到这一点?
#1 热门回答(160 赞)
看看SimpleDateFormat。代码如下:
SimpleDateFormat fromUser = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
String reformattedStr = myFormat.format(fromUser.parse(inputString));
} catch (ParseException e) {
e.printStackTrace();
}
#2 热门回答(12 赞)
使用SimpleDateFormatclass:
private Date parseDate(String date, String format) throws ParseException
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
return formatter.parse(date);
}
用法:
Date date = parseDate("19/05/2009", "dd/MM/yyyy");
为了提高效率,你需要将格式化程序存储在散列映射中。 hashmap是util类的静态成员。
private static Map hashFormatters = new HashMap();
public static Date parseDate(String date, String format) throws ParseException
{
SimpleDateFormat formatter = hashFormatters.get(format);
if (formatter == null)
{
formatter = new SimpleDateFormat(format);
hashFormatters.put(format, formatter);
}
return formatter.parse(date);
}
#3 热门回答(7 赞)
检查javadocs forjava.text.SimpleDateFormat它描述了你需要的一切。