我的购物车中有一个凭证系统,凭证的有效日期和有效日期。 确保它们有效的最佳方法是什么?使用ColdFusion或SQL钻取日期范围
我很愚蠢地设置今天的日期,然后询问数据库是否今天的日期大于或等于开始日期。即02/02/2012 GTE
15/02/2012它显然不是!然后我询问数据库是否到期日期是LTE
到今天的日期。即2012年2月29日LTE
15/02/2012再次不是!当我放下纸时听起来很正确!
以下是下面的代码,我使用自定义标记正确地转换日期,因为这对欧洲日期有很大帮助! FYI:日期字段在sql数据库中设置为日期。
我需要做的是确保今天的日期落在开始日期和结束日期之间。用ColdFusion创建日期范围还是使用ColdFusion中的BETWEEN
运算符最好?
<cfset todaysDate = DateFormat(now(), "dd/mm/yyyy")>
<CF_convertDate inputVariable="todaysDate" inputMask="EU" outputType="odbcdate" outputVariable="myDate">
<cfquery name="chk_voucher" datasource="#application.dsn#">
SELECT
uid_vouchers,
txt_vouch_name,
txt_vouch_descrip,
txt_vouch_code,
txt_vouch_type,
txt_vouch_percent,
txt_vouch_value,
dte_vouch_expiry,
dte_vouch_start,
uid_vouch_webid,
bit_vouch_archived,
txt_vouch_asign
FROM dbo.tbl_vouchers
WHERE bit_vouch_archive=<cfqueryparam cfsqltype="cf_sql_bit" value="no">
AND dte_vouch_start >= #myDate# AND dte_vouch_expiry <= #myDate#
AND txt_vouch_code=<cfqueryparam cfsqltype="cf_sql_varchar" value="#form.txt_vouch_code#">
</cfquery>
任何帮助,将不胜感激!
谢谢你们!显然不清楚!我现在要添加'
2012-02-15 13:59:57