LSDateFormat генерирует дату по умолчанию 30.12.1899 ... как это исправить? - PullRequest
0 голосов
/ 31 мая 2011


В одной из наших баз данных есть страница для печати отчетов, содержащих различную геологическую информацию. Рассматриваемая база данных является базой данных FoxPro и содержит поле даты, которое в FoxPro имеет формат мм / дд / гг.

В форме отчета есть фрагмент кода

#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#

, который извлекает дату сверления и преобразует ее в запрошенный формат, и в процессе берет все 1500 записей без даты детализации и добавляет дату по умолчанию 12/30/1899.

Босс не хочет, чтобы в отчетах была дата по умолчанию, но ему нужна полная, отформатированная дата (когда она существует) в отчетах, потому что у них есть некоторые данные, относящиеся к началу 1900-х годов, и им нужен полный век в списке .

Я пытаюсь написать оператор if / else, который создаст переменную d_date и сохранит

 LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")

если поле заполнено, иначе он будет хранить пустую строку "", если дата пуста.

<cfif (EMPTY(qLithHead.drill_date))>
     <cfset d_date=" ">
<cfelse>
     <cfset d_date=#LSDateFormat(qLithHead.drill_date, "mm/dd/yyyy")#>
</cfif>

и затем в области дат отчета я просто вызову переменную d_date, независимо от ее значения:

#d_date#

В любом случае, это общая идея того, чего я пытаюсь достичь. Я не совсем уверен в синтаксисе CF.

Любая помощь, которую вы можете предложить, приветствуется.

Спасибо! :)

1 Ответ

1 голос
/ 31 мая 2011

Coldfusion 9 имеет функцию isNull (), которая возвращает логическое значение:

<cfif isNull(qLithHead.drill_date)> 

http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSe9cbe5cf462523a0-3c4c0bb81223f1daffb-8000.html

Или, если вы не используете CF9, вы можете попробовать:

<cfif isDate(qLithHead.drill_date)>

или

<cfif Year(qLithHead.drill_date) EQ '1899'>

чтобы избавиться от уродливой метки времени

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...