java - 将日期从一种格式转换为另一种格式时出错

标签 java date

以下代码遇到问题。输出为 dateStr: 11-Jan-11。谁能告诉我为什么要修改日期?

String dateStr="";
String actionCompletionDueDate = "16/11/2011";
DateFormat srcDf = new SimpleDateFormat("mm/dd/yyyy");
DateFormat destDf = new SimpleDateFormat("dd-MMM-yy");              
if(actionCompletionDueDate != null && !actionCompletionDueDate.equals("")) {
  // parse the date string into Date object
  System.out.println("actionCompletionDueDate: " + actionCompletionDueDate);
  Date actionCompletionDate = srcDf.parse(actionCompletionDueDate);
  dateStr = destDf.format(actionCompletionDate);
  System.out.println("dateStr: " + dateStr);
}

最佳答案

改变

DateFormat srcDf = new SimpleDateFormat("mm/dd/yyyy"); 

DateFormat srcDf = new SimpleDateFormat("dd/MM/yyyy");

或者将正确的字符串(尊重您的格式)传递给您的代码

String actionCompletionDueDate = "11/16/2011"; 

并将格式更正为 DateFormat srcDf = new SimpleDateFormat("MM/dd/yyyy");

mm 表示分钟,MM 表示几个月

关于java - 将日期从一种格式转换为另一种格式时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545114/

相关文章:

mysql - 如何将秒/分钟放在查询上?

java - 时区原始偏移量

java - org.apache.jasper.JasperException : Unable to compile class for JSP encountered when using spring

Java 正则表达式组替换

java - 根据区域设置格式化 ZonedDateTime

r - 保存到 CSV 时日期信息消失

Java-Fake 系统时钟启动

java - 无法建立与 Exchange Web 服务的连接 - Java API

java - 有什么方法可以在 Android 中为 API 14 实现 showSoftInputOnFocus?

java - 以秒为单位计时某件事需要多长时间