Похоже, вы уже поступаете правильно в первой строке. С небольшими изменениями:
DateTime instant = getDeadLine(orderBean, localTz);
DateTime.getMillis()
даст вам количество миллисекунд с момента UTC эпохи ... так это то, что вам нужно упорствовать. Если вам нужно иметь возможность конвертировать обратно в локальное время, вам нужно будет знать, какой часовой пояс для возврата обратно, конечно, - либо используя один и тот же каждый раз, либо сохраняя его вместе с миллиметрами UTC.
Следует отметить, что местные даты/время не всегда однозначны - одна и та же локальная дата/время может происходить дважды из-за перехода на летнее время. Вам нужно подумать, будет ли это когда-либо иметь отношение к вам.
, так что все, что мне нужно сделать, это упорство: новая дата (новая DateTime (год, месяц, день, час, минута, 0, 0, DateTimeZone.forID («Канада/Тихоокеанский регион»)). GetMillis()) ? – lisak
И иметь информацию о часовом поясе пользователя при отображении даты назад к нему – lisak
@lisak: Я бы не создал 'Date', если честно, просто продолжайте миллисекунды. Тогда есть меньше, чтобы пойти не так. Но в остальном, да. –