Search code examples
javaandroiddatecalendarandroid-contentprovider

Android / Java convert String date to long type


I need to convert a string in the format "dd/mm/yyyy", to a long type. In order to pass the value to the calendarProvider in android.

Currently I have:

Calendar calendar = Calendar.getInstance();
long startEndDate = 0;
Calendar currentDateInfo = Calendar.getInstance();
currentDateInfo.set(calendar.get(Calendar.YEAR), calendar.SEPTEMBER, calendar.get(Calendar.DAY_OF_MONTH));
startEndDate = currentDateInfo.getTimeInMillis();

I need:

long startDate = *Some sort of conversion* EditText.getText();

I've tried using SimpleDateFormat but i'm having problems getting the correct type back. Any help would be much appreciated.


Solution

  • You can use the following code to get a long value (milliseconds since January 1, 1970, 00:00:00 GMT) from a String date with the format "dd/mm/yyyy".

    try {
        String dateString = "30/09/2014";
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date date = sdf.parse(dateString);
    
        long startDate = date.getTime();
    
    } catch (ParseException e) {
        e.printStackTrace();
    }