【问题标题】:Java how to make date from string [duplicate]Java如何从字符串中生成日期[重复]
【发布时间】:2014-12-24 04:54:52
【问题描述】:

如何在 java 中从 String 中创建 Date 数据类型? 输入:String "2014/01/01 18:02:02" => 输出:Date 2014/01/01 18:02:02

【问题讨论】:

  • 有很多格式化程序和解析类如 DateFormat ,你可以使用任何人。

标签: java string date datetime


【解决方案1】:

您可以使用DateFormatparseformat(它们是互惠函数)String。类似的,

String str = "2014/01/01 18:02:02";
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
try {
    Date d = df.parse(str);
    System.out.println(df.format(d));
} catch (ParseException e) {
    e.printStackTrace();
}

输出是(按要求)

2014/01/01 18:02:02

【讨论】:

    【解决方案2】:

    请使用SimpleDateFormatString解析为Date

    在那里你可以找到合适的DateFormat 来将这个String 转换成Date

    【讨论】:

      【解决方案3】:

      你可以试试这个

      String dateString = "2014/01/01 18:02:02";
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
      LocalDateTime StringAsDate = LocalDateTime.parse(dateString, formatter);
      

      我建议您使用 Time(java.time) API 而不是 java.util 来满足您的日期和时间需求,因为它是新的并且专门添加到 java 中用于日期和时间操作。

      【讨论】:

      • 由于 Java 8 LocalDateTime 是对 Date 的改进(对于日期+时间)。
      【解决方案4】:

      可以使用下面的代码sn -p -

      String dateString = "10-11-2014";
      DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
      Date inputDate = dateFormat.parse(dateString);
      

      【讨论】:

        【解决方案5】:

        你也可以试试这个。

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        String dateInString = "2014/01/01 18:02:02";
        Date date = formatter.parse(dateInString);
        System.out.println(date);
        System.out.println(formatter.format(date));
        

        这是一个工作,它也适合你,因为它并不复杂。你会得到这个输出:

        Wed Jan 01 18:02:02 IST 2014
        2014/01/01 18:02:02
        

        【讨论】:

          【解决方案6】:

          对于您的日期,以下代码应该可以工作:-

          String myString = "2014/01/01 18:02:02";
          DateFormat myDateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
          Date myDate = myDateFormat.parse(myString);
          

          有关详细信息,请参阅 SimpleDateFormat 的文档。只需确保您使用大写“MM”表示月份,使用小写“mm”表示分钟。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-06-16
            • 2015-11-01
            • 1970-01-01
            • 2011-02-21
            • 1970-01-01
            • 2019-07-29
            • 1970-01-01
            • 2011-08-18
            相关资源
            最近更新 更多