Search code examples
androidstringtokenizerandroid-date

Convert time value to format “hh:mm Am/Pm” using Android


I am getting date value from database like "2013-02-27 06:06:30" using StringTokenizer I will get time separately like below

String startTime = "2013-02-27 06:06:30";

StringTokenizer token = new StringTokenizer(startTime);
String date1 = token.nextToken();  
String time1 = token.nextToken(); 

and in time1 I am getting the result 06:06:30,

Can I re-store it in another variable of type String as follows?

String displayValue = "06:06 AM";

And if time1 variable has the value of

String time = 16:00:00;

then it should be converted to:

String displayValue = "04:00 PM";

Solution

  • I got answer just doing like this.

    startTime = "2013-02-27 21:06:30";
    StringTokenizer tk = new StringTokenizer(startTime);
    String date = tk.nextToken();  
    String time = tk.nextToken();
    
    SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
    SimpleDateFormat sdfs = new SimpleDateFormat("hh:mm a");
    Date dt;
    try {    
        dt = sdf.parse(time);
        System.out.println("Time Display: " + sdfs.format(dt)); // <-- I got result here
    } catch (ParseException e) {
        e.printStackTrace();
    }