Android / Java convert String date to long type

纵然是瞬间 提交于 2019-12-01 17:27:28

问题


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.


回答1:


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();
}



回答2:


Use like this your code

String[] dateArray = dateString.split("-");

int year = Integer.parseInt(dateArray[0]);
int month = Integer.parseInt(dateArray[1]);
int date = Integer.parseInt(dateArray[2]);

GregorianCalendar gc = new GregorianCalendar(year,month,date);
long timeStamp = gc.getTimeInMillies();


来源:https://stackoverflow.com/questions/26119072/android-java-convert-string-date-to-long-type

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!