【问题标题】:Converting yyyy-mm-dd into dd mm yyyy将 yyyy-mm-dd 转换为 dd mm yyyy
【发布时间】:2013-06-26 15:17:31
【问题描述】:

如何将 2013-06-24 转换为 2013 年 6 月 24 日?我正在使用下面的代码。

date1="2013-06-24";
SimpleDateFormat d= new SimpleDateFormat("dd MMM yyyy");

try{
date2 =  d.parse(date1);
}catch (ParseException e1) {
// TODO Auto-generated catch block
  e1.printStackTrace();
}  

但我收到此错误“java.text.ParseException: Unparseable date: "2013-06-24" (at offset 4)”

【问题讨论】:

    标签: android simpledateformat


    【解决方案1】:

    您需要两个DateFormat 实例:一个用于解析原始String,另一个用于输出您想要的。

    DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
    DateFormat outputFormat = new SimpleDateFormat("dd MMM yyyy");
    String inputDateStr="2013-06-24";
    Date date = inputFormat.parse(inputDateStr);
    String outputDateStr = outputFormat.format(date);
    

    【讨论】:

    • 很有帮助。从来没有想过这个。谢谢你。像魅力一样工作
    【解决方案2】:

    看到第一个问题是您对字符串和日期使用了不同的分隔符。 因此,您要么在 String 中执行“2013-06-24”到“2013 06 24”,要么执行 new SimpleDateFormat("dd MMM yyyy") 到 new SimpleDateFormat("dd-MMM-yyyy")。

    第二个问题是你不能像这样直接改变格式,在字符串中你有年-月-日格式,所以首先制作一个格式相同的 Date 对象,然后将其更改为您想要的格式,如下所示:

    date1="2013-06-24";
    
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    
    Date dt = format.parse(date1);
    
    SimpleDateFormat your_format = new SimpleDateFormat("dd-MMM-yyyy");
    
    date2 = your_format.format(dt);
    

    【讨论】:

      【解决方案3】:

      改变

      SimpleDateFormat d= new SimpleDateFormat("dd MMM yyyy");
      

      SimpleDateFormat d= new SimpleDateFormat("yyyy-MM-dd");
      

      您必须遵循 date1 模式。然后你可以用

      格式化你的解析日期
      new SimpleDateFormat("dd MMM yyyy");
      

      【讨论】:

      • 我改变了它,但我得到了这个答案“Mon Jun 24 00:00:00 IST 2013”​​
      【解决方案4】:
      public String getStringFormatted(String datestring) {
          String format = "dd MM yyyy";
          SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
          return sdf.format(new Date(datestring.replaceAll("-", "/")));
      }
      

      【讨论】:

        【解决方案5】:
        public String inputFormatget (String datestring1) {
                String format = "dd MM yyyy";
                SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
                return sdf.format(new Date(datestring.replaceAll("-", "/")));
            }
        
            public String outFormatset (String datestring2) {
                String format = "dd MM yyyy";
                SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.getDefault());
                return sdf.format(new Date(datestring.replaceAll("-", "/")));
            }
        

        【讨论】:

        • 感谢您留下这个答案。你能用描述/解释更新它吗?
        【解决方案6】:
        public static String formateDateFromstring(String inputFormat, String outputFormat, String inputDate){
        
            Date parsed = null;
            String outputDate = "";
        
            SimpleDateFormat df_input = new SimpleDateFormat(inputFormat, java.util.Locale.getDefault());
            SimpleDateFormat df_output = new SimpleDateFormat(outputFormat, java.util.Locale.getDefault());
        
            try {
                parsed = df_input.parse(inputDate);
                outputDate = df_output.format(parsed);
        
            } catch (ParseException e) {
            }
        
            return outputDate;
        
        }
        
        String convertedDate = formateDateFromstring(
            "yyyy-MM-dd",
            "dd/MM/yyyy",
            datestring);
        
        updateInsuranceEventFragmentBinding.edtdate.setText(convertedDate);
        

        【讨论】:

          【解决方案7】:

          字符串 idl = "2021-06-30";字符串 dl=null; try{ SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");日期日期 = inputFormat.parse(idl); dl = outputFormat.format(日期); System.out.println(dl); } catch (ParseException e1) { e1.printStackTrace(); }

          【讨论】:

          • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
          • 这是已接受答案的副本,格式也不正确
          猜你喜欢
          • 2016-06-21
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-22
          • 2011-03-18
          相关资源
          最近更新 更多