sensorario
sensorario

Reputation: 21698

DateTime from PHP to Java (Android): how to convert a string to a DateTime object?

In PHP to convert a string to DateTime() its very very easy:

$dateTime = new DateTime("2013-12-11 10:109:08");
echo $dateTime->format("d/m/Y"); // output 11/12/2013

What is the equivalent in Java? I've seen a lot of questions in stackoverflow. I cant find a way to solve this problem.

My last try is:

SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm", Locale.ITALIAN);
return dateFormat.format(new Date(datetime)).toString();

This crash application. Android Studio tells me that Date(java.lang.String) is deprecated.

Can someone help me?

Upvotes: 0

Views: 4272

Answers (4)

alex
alex

Reputation: 5694

Parse it like that:

SimpleDateFormat formatter = 
            new SimpleDateFormat("dd.MM.yyyy", Locale.GERMANY);

        Calendar date = Calendar.getInstance();
        try {
            date.setTime(formatter.parse("12.12.2010"));
        } catch (ParseException e) {
            e.printStackTrace();
        }

Have a look at my Android date picker example here.

Upvotes: 0

DeltaLima
DeltaLima

Reputation: 5944

// First convert the String to a Date
String dateTime = "2013-11-12 13:14:15";
SimpleDateFormat dateParser = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALIAN);
Date date = dateParser.parse(dateTime);
// Then convert the Date to a String, formatted as you dd/MM/yyyy
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy");
System.out.println(dateFormatter.format(date));

You can let the parser / formatter take the timezone into account by using SimpleDateFromat.setTimeZone() if you have to deal with TimeZones that are not in your default locale.

Upvotes: 2

Paresh Mayani
Paresh Mayani

Reputation: 128448

Yes As of JDK version 1.1, Date(java.lang.String) is deprecated and replaced by DateFormat.parse(String s).

Upvotes: 0

Bhanu Sharma
Bhanu Sharma

Reputation: 5145

try this

 String time1="";
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US);
                             GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central"));
                             calendar.setTimeInMillis(yourmilliseconds);
                                 time1=sdf.format(calendar.getTime());

Upvotes: 0

Related Questions