将日期时间转换为24小时格式



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

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

我还希望转换后的时间是24小时的格式。谁能解决这个问题吗。我想要得到的输出类似于2011-07-27 08:35:29

H与H是24小时与12小时格式之间的差异。

试试这个:

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);
}
kk = Hours in 1-24 format
hh= hours in 1-12 format
KK= hours in 0-11 format
HH= hours in 0-23 format

试试这个:

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

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

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

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();
        }

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

    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);
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);
} 
}

输出:

今天是:11月2日星期五16:11:27 IST 2012

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

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

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

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

在两行中:

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

只是一个提示,

尝试使用JodaTime而不是java,util.Date它更强大,而且它有一个方法toString("(,您可以像toString("yyy MM-dd HH:MM:ss"(;

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

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

    //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

这是一个使用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+"";
    }

相关内容

  • 没有找到相关文章

最新更新