【问题标题】:How to convert String into DateFormat in java?如何在java中将String转换为DateFormat?
【发布时间】:2014-04-22 11:23:05
【问题描述】:

我正在研究 Java。我有一个String,我想把它转换成Date 格式。详情请查看代码行。

String dateString = "4:16:06 PM";

我想把它转换成下面的Date:

 Date convertedDate  = 2014-04-22 16:16:06.00

我该怎么做?

【问题讨论】:

标签: java


【解决方案1】:

试试这个:

// get current date
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
String a = dateFormat1.format(new Date());

// add current date to your time string
String dateString = a + " 4:16:06 PM";

SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd h:mm:ss a");
try {
    // parse it. This is you date object.
    Date d = dateFormat2.parse(dateString);
} catch (ParseException ex) {
    ex.printStackTrace();
}

【讨论】:

    【解决方案2】:

    我认为您正在寻找以下内容:

        DateFormat df1 = new SimpleDateFormat("h:mm:ss a");
        DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
    
        String dateString = "4:16:06 PM";
    
        Date date;
        try {
            Calendar cal = Calendar.getInstance();
            Calendar cal2 = Calendar.getInstance();
            date = df1.parse(dateString);
            cal.setTime(date);
    
            // Reset year, month, day to current state
            cal.set(Calendar.YEAR, cal2.get(Calendar.YEAR));
            cal.set(Calendar.MONTH, cal2.get(Calendar.MONTH));
            cal.set(Calendar.DAY_OF_MONTH, cal2.get(Calendar.DAY_OF_MONTH));
    
            Date convertedDate = cal.getTime();
            System.out.println(df2.format(convertedDate));
    
        } catch (ParseException e) {
            e.printStackTrace();
        }
    

    【讨论】:

      【解决方案3】:

      试试这个,

      String str_date="13-09-2011";
      DateFormat formatter ; 
      Date date ; 
      formatter = new SimpleDateFormat("dd-MM-yyyy");
      date = (Date)formatter.parse(str_date); 
      System.out.println("Date " +date.getTime());
      

      【讨论】:

      • Op 的 dateString(input) 是 PM(12 小时制)中的时间,他希望输出为当前日期 + 以 24 小时制转换的时间。您的回答是这样吗?
      • 答案不应仅包含一段代码,添加“try this”并不能解释您的代码提供解决方案的原因。
      • @David 但如果我们花更多时间来解释我们的答案,其他任何人都会回答并且他的回答将被接受。其次,如果 OP 不理解我们尝试这个块的任何内容,我们可以在我们的厘米。
      • @TruePS:我表达的是 StackOverflow 政策,而不是我个人的意见。很少有例外,例如,如果代码在 cmets 中包含解释,但在这种格式下,问题是完全不可接受的。解释一下,SO 并不是用来回答个人问题的地方,而是对未来用户仍然有用的一般问题。
      • @David 我完全理解你在说什么,但是当我说通常用户会在 2-3 分钟内得到他们想要的东西并接受这个答案时,你必须同意我的观点,即使我们在代码中编写了 cmets 也是如此需要一些时间,而且花更多时间回答问题很难获得声誉。
      【解决方案4】:

      试试这个

       public class DateClass
       {
      public static void main(String[] args) throws Exception {
      String target = "4:16:06 PM";
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
      DateFormat dff = new SimpleDateFormat("HH:mm:ss");
      Date d=new Date();
      String abc="4:16:06 PM";
      Date result =  new SimpleDateFormat("h:mm:ss a").parse(abc);  
      
        System.out.println("The result is "+df.format(d)+" "+dff.format(result));
       }
         }
      

      如果您有任何不明白的地方,请随时提问,请回复是否有效?

      【讨论】:

        猜你喜欢
        • 2011-01-26
        • 1970-01-01
        • 2010-09-19
        • 2015-11-17
        • 2011-12-03
        • 2011-07-31
        相关资源
        最近更新 更多