Все объекты Date в java - это просто длинные значения за сценой. Вы можете получить значение Long из объекта Date Java, используя getTime (), сохраняя полученное значение long, а затем инициализируя новый объект Date, используя это значение long в конструкторе. Поскольку DatePicker предоставляет интерфейсы для дня, месяца и года, вы должны использовать класс календаря java в качестве промежуточного, создав новый объект Calendar, установив день, месяц и год перед извлечением объекта Date, а затем длинное значение из объекта Date.
Я бы сказал что-то вроде этого:
DatePicker dp = blah blah;
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH, dp.getDayOfMonth());
c.set(Calendar.MONTH, dp.getMonth());;
c.set(Calendar.YEAR, dp.getYear());
long l = c.getTime().getTime();
Отсюда вы можете сериализовать ваше длинное значение. Очевидно, что для обратного процесса, который вы вытаскиваете из длинного значения, создайте объект Date с длинным значением, а затем используйте вызов Calendar.setTime (Date) перед использованием функции Calendar.get, чтобы получить значения для использования в DatePicker.init или используя объект SimpleDateFormat, чтобы подготовить его для отображения в формате, как вы описали.