select
datepart(month,getdate()) -- integer (1,2,3...)
,datepart(year,getdate()) -- integer
,datename(month,getdate()) -- string ('September',...)
Раньше это было довольно неплохо. стандартная практика при написании CGI на Perl. По нему есть даже FAQ. Основная идея заключалась в том, что время выполнения могло гарантировать, что вы неявно не доверяете испорченному значению.
преобразовать время во всемирное координированное время, сохранить его, а затем снова выполнить преобразование, чтобы отобразить его?
Да, даже если у вас есть только один местный часовой пояс, вы обычно должны сохранять ваши даты как метки времени в формате UTC в базе данных и преобразование их в текст и обратно в соответствующий часовой пояс на этапах ввода и вывода веб-приложений. Если у вас есть сохраненный часовой пояс для каждого пользователя, тогда легко переключить часовой пояс по умолчанию на индивидуальный.
pytz - обычное решение для выбора и преобразования часовых поясов. (Хотя лично я взломал свою менее обширную коллекцию часовых поясов.)
пока он не будет должным образом обработан для вставки в базу данных. Помечая входные данные как испорченные, Ruby обеспечивает удовлетворительную очистку и предотвращает потенциальную атаку с использованием SQL-инъекций.В качестве примера «древней» (2005 г.) практики кодирования, демонстрирующей, как заражение отслеживалось без таких модулей Perl и Ruby, прочтите старого доброго Джоэла: