Это зависит от того, какую базу данных вы хотите сохранить. Если вы храните локально в своей базе данных sqlite, я рекомендую хранить дату в миллисекундах, а если вы храните на сервере backend, вы можете преобразовать ее в формат даты ISO. Примеры обоих способов приведены ниже, и если вам нужна дата в любом другом формате, вы можете это сделать, изменив строку, переданную конструктору объекта STANDARD_UI_DATE_FORMAT.
Calender startTimeCalender = Calendar.getInstance();
startTimeCalender.set(Calendar.YEAR, year);
startTimeCalender.set(Calendar.MONTH, monthOfYear);
startTimeCalender.set(Calendar.DAY_OF_MONTH, dayOfMonth);
//Date in Millis
lond dateInMillis = startTimeCalender.getTimeInMillis();
SimpleDateFormat STANDARD_UI_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-ddTHH\:mm\:ss.fffffffzzz");
//Date in ISO Format
String formattedDate = STANDARD_UI_DATE_FORMAT.format(startTimeCalender.getTime())
Это не локальная БД, ее на другом Сервере. И мне нужна только дата, поэтому лучше изменить тип поля в БД до даты, а не времени. И вы думаете, что лучше использовать Calender? Или я должен? –
Если вы играете с датой или временем или обоими, объект Calender - лучшее, что нужно сделать. И я не совсем уверен, какой формат даты займет ваш сервер, но если вам нужно отправить его как String, вы можете использовать вышеприведенный код для форматирования. В моем приложении мы используем формат ISO, поэтому я конвертирую в ISO и отправляю его как строку. – himanshu1496
SimpleDateFormat, который вы используете, не работал для меня, Я использовал это: SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("yyyy-mm-dd hh: mm: ss.mmm"); Но когда я компиляции я получил эту ошибку в catLog: java.lang.NumberFormatException: Invalid INT: "18 12: 00: 00,000" Это 18 является DayOfMonth, а следующее время. –