2009-08-21 2 views
3

Кто-нибудь знает простой способ преобразования значений datetime mysql в значения даты и времени coldfusion в CF8 (и, возможно, он должен быть обратно совместим с CF6)?convert from mysql datetime to coldfusion datetime

Мне нужно сохранить даты в mysql и решили сохранить их в формате mysql datetime, чтобы я мог получить db для диапазонов дат и сравнений для меня. Я мог бы это сделать в CF, но мне пришлось бы получить потенциально огромный набор результатов для обработки. Кажется намного более здравым, чтобы заставить db справиться с этим для меня.

Мой код переднего конца - coldfusion, и преобразование объектов времени cf в то, что mysql понимает при вставке, достаточно просто. Но я столкнулся с проблемами, возвращая их в другую сторону.

Существует функция CreateDateTime, но сначала мне нужно сначала разбить результат mysql на отдельные части года, месяца, дня и т. Д. Это не сложно, но кажется излишне сложным по сравнению с преобразованием дат в другом направлении.

Функция ParseDateTime не подходит мне, потому что я хочу продолжить обработку на стороне сервера объектов datetime перед форматированием и отправкой клиенту.

Кто-нибудь знает простой способ сделать это? Или я должен согласиться на легкое обращение в одну сторону, а другой - другой?

+0

Если значения хранятся в столбце datetime, они должны быть автоматически преобразованы в объекты CF datetime при запросе. Я должен что-то пропустить здесь.;) – Leigh

+1

Хорошо. Сейчас немного красного цвета. Я понятия не имел, что CF делает это автоматическое преобразование для меня. Я никогда не пробовал. Я предположил, что должен был сделать это сам. Итак, сегодня я изучил две вещи. – nedlud

+0

Каждый раз, когда у вас есть эти «ламповые» моменты, это хороший день! – Leigh

ответ

3

date_format очень хорошо для этого:

date_format(myDateCol, '%m/%d/%Y') 

Кроме того, если вам нужна дата расчетов по этому вопросу, date_format может быть просто ваша обертка:

date_format(date_add(myDateCol, interval 7 day), '%m/%d/%Y') 

Это будет формат даты для через неделю (7 дней) в формате ColdFusion.

+0

Спасибо за это. Это именно то, что мне нужно. Я не знал, что могу заставить mysql сделать форматирование для меня (так много узнать). Я теперь более счастливый человек. – nedlud

+0

Рад, что я мог помочь! MySQL и SQL в целом имеют много действительно мощных материалов, которые часто пропускаются. Стоит потратить день или два на просмотр документов, чтобы узнать, чего вы не знаете! – Eric

+0

Хорошо, чтобы не навязывать смысл;) .. но я думал, что OP хочет объект datetime? В документации указано, что функция date_format возвращает строку. – Leigh

2

вы можете использовать функцию CreateODBCDateTime (date) для этого.

+3

Э ... неправильный путь. Это форматирует дату ColdFusion для вставки * в * MySQL. OP рассматривает преобразование формата MySQL в формат ColdFusion. – Eric

+0

Поскольку это первый результат, когда googling datetime datetime to mariadb datetime, я бы сказал, что он по-прежнему ценен. –