【问题标题】:how to convert string into date? JAVA如何将字符串转换为日期? JAVA
【发布时间】:2014-11-03 12:01:15
【问题描述】:

我有这个字符串:7 -Jun- 2014。 我想转换成 java.utils.Date;

我使用此代码

 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        String dateInString = "7-Jun-2013";

        try {

            Date date = formatter.parse(dateInString);
            System.out.println(date);
            System.out.println(formatter.format(date));

        } catch (ParseException e) {
            e.printStackTrace();
        }

但我得到了这个例外:

java.text.ParseException: Unparseable date: "7-Jun-2013"
at java.text.DateFormat.parse(Unknown Source)
at ma.abcsolution.util.Test.main(Test.java:15)

【问题讨论】:

标签: java date simpledateformat


【解决方案1】:

尝试使用

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");

SimpleDateFormat 像您告诉它的那样查看给定的字符串,因此在您的示例中,它会查找一个字符串,其中包含 2 个字符的天数,后跟一个 '/' 符号,然后是 2 个字符的月份,依此类推

【讨论】:

    【解决方案2】:

    使用 SimpleDateFormatter 您可以将日期字符串转换为日期和日期字符串

    public final class DateUtil {
    
        private static final String DEFAULT_DATE_FORMAT = "dd-MMM-yyyy";
    
        private DateUtil() {
        }
    
        public static final String formatDate(final Date date, final String dateFormat) {
            DateFormat format = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
            return format.format(date);
        }
    
        public static final Date formatDate(final String date) throws ParseException {
            return formatDate(date, DEFAULT_DATE_FORMAT);
        }
    
        public static final Date formatDate(final String date, final String dateFormat) throws ParseException {
            DateFormat format = new SimpleDateFormat(dateFormat);
            return format.parse(date);
        }
    }
    

    无论何时您要格式化日期,请验证您使用的格式 在您的情况下,您使用了dd/MM/yyyy,但您使用的日期格式为dd-MMM-yyyy

    【讨论】:

      【解决方案3】:

      使用

       SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
      

      格式化日期。你使用了错误的/ 符号格式。

      另见:

      【讨论】:

        【解决方案4】:
        Date date = new SimpleDateFormat("d-MMM-yyyy").parse("7-Jun-2014");
        

        【讨论】:

        • 我得到了这个异常:线程“main”中的异常 java.text.ParseException: Unparseable date: "7-Jun-2014" at java.text.DateFormat.parse(Unknown Source) at ma。 abcsolution.util.Test.main(Test.java:10)
        【解决方案5】:

        使用此代码。很简单。

        import java.text.SimpleDateFormat;
        import java.util.Date;
        
        public class DateTime {
        
            public static void main(String args[]){
                SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
                String dateInString = "7-Jun-2013";
        
                Date date=new Date(dateInString);
        
                System.out.println(ft.format(date));
        
        
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-09-07
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          • 2011-06-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多