【问题标题】:converting date time to 24 hour format将日期时间转换为 24 小时格式
【发布时间】:2011-07-27 09:40:50
【问题描述】:

我从服务器获取的时间类似于Jul 27, 2011 8:35:29 AM

我想把它转换成yyyy-MM-dd HH:mm:ss

我还希望转换后的时间采用 24 小时格式。任何人都可以解决这个问题。我想得到的输出就像2011-07-27 08:35:29

【问题讨论】:

    标签: java datetime


    【解决方案1】:

    H vs h 是 24 小时制和 12 小时制的区别。

    【讨论】:

    • 救星。谢谢。
    • 谢谢你这么简单的回答。无需代码 sn-p
    • 新手:DateFormat format = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
    • 天才。谢谢!
    【解决方案2】:

    试试这个:

    String dateStr = "Jul 27, 2011 8:35:29 AM";
    DateFormat readFormat = new SimpleDateFormat( "MMM dd, yyyy hh:mm:ss aa");
    DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
    Date date = null;
    try {
        date = readFormat.parse(dateStr);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    
    if (date != null) {
        String formattedDate = writeFormat.format(date);
    }
    

    【讨论】:

    • 我无法使用此代码将 2:46 PM 转换为 14:46。我错过了什么吗?
    • @user1930402 您可以通过将读取格式更改为hh:mm a 来做到这一点 - 您的输入会忽略秒数(猜测)。
    • 当我们在格式中有 aa 时,请确保 hh 是小写,否则它应该在 capitol 中
    • 如果您不了解日期格式的模式,则非常小且难以识别。对我来说,只需将hh 更改为HH 即可解决问题!
    【解决方案3】:
    kk = Hours in 1-24 format
    hh= hours in 1-12 format
    KK= hours in 0-11 format
    HH= hours in 0-23 format
    

    【讨论】:

      【解决方案4】:

      试试这个:

      Date date=new Date("12/12/11 8:22:09 PM");    
      System.out.println("Time in 24Hours ="+new SimpleDateFormat("HH:mm").format(date));
      

      【讨论】:

        【解决方案5】:

        您应该看看 Java 日期格式,特别是 SimpleDateFormat。这里有一些示例:http://download.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html - 但您也可以通过快速 google 找到更多。

        【讨论】:

          【解决方案6】:

          我以下面给出的日期为例,并根据您的要求打印两种不同格式的日期。

          String date="01/10/2014 05:54:00 PM";
          
          SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa",Locale.getDefault());
          
          try {
                      Log.i("",""+new SimpleDateFormat("ddMMyyyyHHmmss",Locale.getDefault()).format(simpleDateFormat.parse(date)));
          
                      Log.i("",""+new SimpleDateFormat("dd/MM/yyyy HH:mm:ss",Locale.getDefault()).format(simpleDateFormat.parse(date)));
          
                  } catch (ParseException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
          

          如果您还有任何疑问,请回复。谢谢。

          【讨论】:

            【解决方案7】:
            import java.text.SimpleDateFormat;
            
            import java.util.Date;
            
            public class DateFormatExample {
            
            public static void main(String args[]) {
            
                // This is how to get today's date in Java
                Date today = new Date();
            
                //If you print Date, you will get un formatted output
                System.out.println("Today is : " + today);
            
                //formatting date in Java using SimpleDateFormat
                SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyyy");
                String date = DATE_FORMAT.format(today);
                System.out.println("Today in dd-MM-yyyy format : " + date);
            
                //Another Example of formatting Date in Java using SimpleDateFormat
                DATE_FORMAT = new SimpleDateFormat("dd/MM/yy");
                date = DATE_FORMAT.format(today);
                System.out.println("Today in dd/MM/yy pattern : " + date);
            
                //formatting Date with time information
                DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS");
                date = DATE_FORMAT.format(today);
                System.out.println("Today in dd-MM-yy:HH:mm:SS : " + date);
            
                //SimpleDateFormat example - Date with timezone information
                DATE_FORMAT = new SimpleDateFormat("dd-MM-yy:HH:mm:SS Z");
                date = DATE_FORMAT.format(today);
                System.out.println("Today in dd-MM-yy:HH:mm:SSZ : " + date);
            
            } 
            
            }
            

            输出:

            今天是 : Fri Nov 02 16:11:27 IST 2012

            今天以 dd-MM-yyyy 格式:02-11-2012

            今天 dd/MM/yy 模式:02/11/12

            今天在 dd-MM-yy:HH:mm:SS : 02-11-12:16:11:316

            今天在 dd-MM-yy:HH:mm:SSZ : 02-11-12:16:11:316 +0530

            【讨论】:

              【解决方案8】:

              两行:

              SimpleDateFormat simpleDateFormat=new SimpleDateFormat("hh:mm aa",Locale.getDefault());
                      FAJR = new SimpleDateFormat("HH:mm",Locale.getDefault()).format(simpleDateFormat.parse("8:35 PM");
              

              【讨论】:

                【解决方案9】:
                    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                
                    Date date = new Date();
                    Date date2 = new Date("2014/08/06 15:59:48");
                
                    String currentDate = dateFormat.format(date).toString();
                    String anyDate = dateFormat.format(date2).toString();
                
                    System.out.println(currentDate);
                    System.out.println(anyDate);
                

                【讨论】:

                  【解决方案10】:

                  只是一个提示,

                  尝试使用 JodaTime 而不是 java,util.Date 它更强大,并且有一个方法 toString("") 你可以传递你想要的格式 toString("yyy-MM-dd HH:mm:ss");

                  http://joda-time.sourceforge.net/

                  【讨论】:

                    【解决方案11】:

                    使用日历,它的工作原理如下:

                        //create first Calendar object
                        Calendar calendar = Calendar.getInstance();
                    
                        calendar.set(Calendar.HOUR_OF_DAY, 15); // 3 PM
                        // the same is
                        calendar.set(Calendar.AM_PM, Calendar.PM); // choose PM mode
                        calendar.set(Calendar.HOUR, 3); // 3 PM
                    
                        System.out.println( calendar.get(Calendar.HOUR) ); // AM_PM format
                        System.out.println( calendar.get(Calendar.HOUR_OF_DAY) ); // 0-23 format
                    

                    【讨论】:

                      【解决方案12】:

                      这是一种使用 JODA 的方法。

                      输入示例为07/20/2015 01:46:34.436 AM

                      public static String get24HourFormat(String dateString){
                              Date date = new Date();
                              DateTime date1=new DateTime();
                      
                              //  String date="";
                              int hour=0;
                              //int year=0;
                              if(dateString!=null){
                      
                                  try {
                                      DateTimeFormatter formatter = DateTimeFormat.forPattern("MM/dd/yyyy hh:mm:ss.SSS aa");
                                      DateTimeFormatter output = DateTimeFormat.forPattern("kk");
                      
                                      date1=formatter.parseDateTime(dateString);
                                      hour=date1.getHourOfDay();
                                      System.out.println(output.print(date1));
                                      //  System.out.println(date);
                                  } catch (Exception e) {
                                      // TODO Auto-generated catch block
                                      e.printStackTrace();
                                  }
                              }
                              return hour+"";
                          }
                      

                      【讨论】:

                        猜你喜欢
                        • 2020-05-12
                        • 2010-10-01
                        • 2015-01-24
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多