Как мне создать пользовательскую дату? - PullRequest
0 голосов
/ 11 августа 2011

нужна помощь!это своего рода вопрос из двух частей.

Я проделал большую часть программирования, но никогда не работал с датами, я гуглил и все такое, но ничего не нашел.

часть 1:

так скажем, у меня есть некоторая переменная: Public Date adStartTime

я хочу, чтобы она была в следующем формате: гггг / мм / дд чч: мм: сс, так что я просто делаю adStartTime = (некоторая датаформатер) + (2011/08/08 08:08:08) * который не работает

как правильно сделать так, чтобы это было ??я продолжаю получать сообщения об ошибках и т. д. я предпочитаю делать все в Date вместо использования strings / int ..

part 2:

, как только я получу дату в этом формате, мне нужно будетвставить это в БД, я могу вставить дату в этом формате?или мне нужно будет изменить его?

причина, по которой мне понадобится время, заключается в том, что я настраиваю автоматические объявления для новых ценных бумаг компании, и иногда объявление будет показываться в течение одного дня или, возможно, 1/2 дня, поэтому я будунужно правильно установить таймер.

спасибо за любую помощь ..

Ответы [ 2 ]

4 голосов
/ 11 августа 2011

Для части 1 используйте java.text.SimpleDateFormat, например:

SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = format.parse(datestring);

Если у вас есть код, похожий на этот, и по-прежнему появляются ошибки, отредактируйте ваш вопрос, включив в него ваш фактический код.

Для части 2 вы должны вставить дату в базу данных как дату, а не как строку, поэтому формат не существует.

1 голос
/ 11 августа 2011

1.) Для работы с датами я предлагаю вам посмотреть Время Joda

, которое разрешает именно этот тип конвертации.

например

 public boolean isAfterPayDay(DateTime datetime) {
 if (datetime.getMonthOfYear() == 2) {   // February is month 2!!
   return datetime.getDayOfMonth() > 26;
 }
 return datetime.getDayOfMonth() > 28;
}

2.) Для хранения dateTimes в БД есть несколько лагерей, которые содержат разные вещи

Некоторые говорят, что вы должны хранить int и конвертировать.Джода делает это легко.Другие (как некоторые администраторы Oracle) предпочитают тип Date.Джода справляется и с этим.Здесь обсуждаются некоторые из вопросов Обсуждение хранения даты

То, как вы на самом деле это делаете, может зависеть от типа вашей базы данных и предпочтений вашего администратора баз данных (если он у вас есть)

Я бы настоятельно рекомендовал вам хранить дату и время в хранилище Timezone.

...