Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to split date and time from a datetime string?

I have a string like 8/29/2011 11:16:12 AM. I want to split that string into separate variables like

date = 8/29/2011
time = 11:16:12 AM

Is this possible? If so, how would I do it?

like image 996
user1153176 Avatar asked Mar 27 '12 09:03

user1153176


People also ask

How do I segregate date and time in Excel?

On the Home tab of the Excel Ribbon, at the bottom right of the Number group, click the Dialog Box Launcher (or use the keyboard shortcut, Ctrl + 1 ) In the Format Cells dialog box, click the Time category. Click on the 1:30 PM format, then click OK.


1 Answers

(Edit: See Answer by Ole V.V. below for a more modern (Java 8) approach for the first version)

One way to do is parse it to a date object and reformat it again:

    try {
        DateFormat f = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
        Date d = f.parse("8/29/2011 11:16:12 AM");
        DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
        DateFormat time = new SimpleDateFormat("hh:mm:ss a");
        System.out.println("Date: " + date.format(d));
        System.out.println("Time: " + time.format(d));
    } catch (ParseException e) {
        e.printStackTrace();
    }

If you just want to slice it into date-time pieces, just use split to get pieces

    String date = "8/29/2011 11:16:12 AM";
    String[] parts = date.split(" ");
    System.out.println("Date: " + parts[0]);
    System.out.println("Time: " + parts[1] + " " + parts[2]);

or

    String date = "8/29/2011 11:16:12 AM";
    System.out.println("Date: " + date.substring(0, date.indexOf(' ')));
    System.out.println("Time: " + date.substring(date.indexOf(' ') + 1));
like image 182
mdakin Avatar answered Oct 10 '22 03:10

mdakin