Я использую ColdFusion 9.0.1 и некоторую базу данных, которую я не могу изменить.
Я получаю доступ к базе данных, в которой дата хранится в виде восьмизначного числа с нулем после запятой, например:
YYYYMMDD
Мне нужно иметь возможность читать дату, добавлять и вычитать дни из даты и создавать новые даты. Я ищу решение ColdFusion для эффективного (не много кода) для преобразования даты в наш стандартный формат, который является
MM/DD/YYYY
А затем преобразовать его обратно в формат базы данных для сохранения.
Мне нужно закодировать это таким образом, чтобы программисты, не относящиеся к ColdFusion, могли легко прочитать это и использовать его, копировать и модифицировать его для других функций (таких как добавление дня к дате). Итак, я не ищу наименьшее количество кода, но эффективный и читаемый код.
Можете ли вы предложить что-нибудь, что сделало бы этот блок кода более гибким, читаемым или более эффективным (меньше кода)?
<cfscript>
// FORMAT DB DATE FOR BROWSER
DateFromDB = "20111116";
DatedToBrowser = createBrowserDate(DateFromDB);
writeOutput(DatedToBrowser);
function createBrowserDate(ThisDate) {
ThisYear = left(ThisDate, 4);
ThisMonth = mid(ThisDate, 4, 2);
ThisDay = right(ThisDate, 2);
NewDate = createDate(ThisYear, ThisMonth, ThisDay);
NewDate = dateFormat(NewDate, "MM/DD/YYYY");
return NewDate;
}
// FORMAT BROWSER DATE FOR DB
DateFromBrowser = "11/16/2011";
DateToDB = createDBDate(DateFromBrowser);
writeDump(DateToDB);
function createDBDate(ThisDate) {
ThisYear = year(ThisDate);
ThisMonth = month(ThisDate);
ThisDay = day(ThisDate);
NewDate = "#ThisYear##ThisMonth##ThisDay#";
return NewDate;
}
</cfscript>