Kirk Ouimet Kirk Ouimet - 8 months ago 115
Java Question

PHP's strtotime() in Java?

I'm looking for an easy way to generate a MySQL DATETIME from any type of time input a user may enter. PHP makes it easy with its strtotime() function that can do:


strtotime(’Thu, 21 Dec 2000 16:01:07 +0200′);

strtotime(’Monday, January 1st’);


strtotime(’-1 week 2 days 4 hours 2 seconds’);


2004-02-12 07:02:21

2000-12-21 06:12:07

2009-01-01 12:01:00

2009-02-12 12:02:00

2009-02-06 09:02:41

I want this in Java!


Thanks for the quick reply ChssPly76. Here's my solution, although it's hard coded to handle dates coming in this format: "5 Aug 2009 07:27:51 GMT". Perhaps there is a way to allow it to easily handle other formats in case of a parse exception?

public static String stringToDateTime(String string) {
    SimpleDateFormat sdf = new SimpleDateFormat("d MMM yyyy HH:mm:ss z");
    Date date;
    String sqlDate;
    try {
        date = sdf.parse(string);
        SimpleDateFormat sqlFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sqlDate = sqlFormat.format(date);
    catch(ParseException ex) {
        sqlDate = string;

    return sqlDate;