Итак, вот что я пытаюсь сделать. У меня есть вид gsp с формой, в которой размещаются следующие значения с некоторыми примерными значениями:JodaTime Persisting DateTime как несколько столбцов
params.startTime: 01:00:00 AM, params.start Дата: 2013-01-01, params.timeZone: US/Central
Вот некоторый код из моего домена класса
class MyClass {
DateTime startDate
}
static mapping {
startDate type: PersistentDateTimeWithZone, {
column name: "start_date_time"
column name: "start_date_zone"
}
И вот какие-то коды из моего контроллера
//This is a service i created to return the UTC id of a long time zone
def tzs = new TimeZoneService()
params.timeZone = tzs.getTimeZoneId(params.timeZone)
def startTimeZone = DateTimeZone.forID(params.timeZone)
def startDate = new DateTime(params.startDate + "T" + params.startTime, startTimeZone)
Это то, что это выглядит как в моей базе данных:
start_date_time: 2013-01-01 01:00:00
start_date_zone: -06:00
Так вот в чем проблема. Когда я форматировать STARTTIME со следующим рисунком
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMM dd, yyyy h:mm a z");
Мой часовой пояс придумывает, как -06: 00, а не США/Central. Вот мои вопросы: я пробую разные подходы к сохранению своего DateTime. Если я хочу просто использовать один столбец, чтобы сохранить дату и зону вместе, как бы я это сделал? Если мои свойства для зоны даты и времени входят в качестве отдельных параметров, каков правильный способ создания DateTime с этими тремя параметрами? Пожалуйста помоги! Заранее спасибо.