Я хочу хранить объекты даты и времени с часовыми поясами в виде строк. И чтобы они были в правильном формате, я хочу использовать регулярное выражение в качестве валидатора. Вот как объекты даты и времени хранятся в PostgreSQL:
'2004-10-19 10:23:54+02'
Довольно понятно. Конечно, часть часового пояса является необязательной, поэтому шаблон регулярного выражения также должен это учитывать. Прямо сейчас я делаю это так:
/^\d\d\d\d-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01]) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9])*(:[0-9]*\+[0-9]*)?$/
Я не совсем уверен, что это правильно, особенно часть часового пояса. Будет ли это соответствовать всем возможным часовым поясам, которые могут храниться в базе данных PostgreSQL? Спасибо за любую помощь.
Редактировать: я не храню его непосредственно в базе данных PostgreSQL, поэтому мне все еще нужно правильно настроить регулярное выражение.