我的日期字符串是“2016年10月17日下午12:17” 我的日期解析方法是:
public static String formatDate(String dateString) {
String stringDate = "";
try {
//Mar 11 2016 2:21PM
if (dateString != null) {
SimpleDateFormat dt = new SimpleDateFormat("MMM dd yyyy hh:mma");
Date date = dt.parse(dateString);
// *** same for the format String below
SimpleDateFormat dt1 = new SimpleDateFormat("EEE , hh:mm a");
stringDate = dt1.format(date);
}
return stringDate;
} catch (ParseException parseException) {
Log.e("date format", "" + parseException.getMessage());
}
return stringDate;
}
英语可以正常使用,但当我将我的应用语言改为印地语或其他任何我正在获得例外时。
java.text.ParseException: Unparseable date: "Oct 17 2016 12:17PM" (at offset 0)
我做什么?
答案 0 :(得分:1)
您需要设置区域设置英语
SimpleDateFormat dt = new SimpleDateFormat("MMM dd yyyy hh:mma", Locale.ENGLISH);
答案 1 :(得分:1)
public class Practice {
public static void main(String...args) {
String day,month, finalDay;
try {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String currentDateTimeString = df.format(new Date());
//String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy", Locale.US);
Date date = format.parse(currentDateTimeString);
SimpleDateFormat dayFormat = new SimpleDateFormat("dd");
day = dayFormat.format(date);
SimpleDateFormat monthFormat = new SimpleDateFormat("MM");
month = monthFormat.format(date);
System.out.print("My day"+ day);
System.out.println("My month"+ month);
} catch (Exception e) {
System.out.println("Hello exception "+ e.getMessage());
e.printStackTrace();
}
} }