我正在建立一个应用程序来记录我的猫是否有哮喘发作。我对确切的时间不感兴趣,因为在15分钟的时间间隔内浏览更容易检查(例如,上午9:38的上午应该记录为上午9:45)。
我在cflib.org上找了一个UDF,但找不到。我修改了CF的圆形功能,但我没有按照我的要求做它。
有什么建议吗?
答案 0 :(得分:5)
这可以用更多的润色(比如数据类型验证)但它需要一个时间值并将其四舍五入到最接近的15分钟增量。
<cfscript>
function roundTo15(theTime) {
var roundedMinutes = round(minute(theTime) / 15 ) * 15;
var newHour=hour(theTime);
if (roundedMinutes EQ 60) {
newHour=newHour + 1;
roundedMinutes=0;
}
return timeFormat(createTime(newHour,roundedMinutes,0),"HH:mm");
}
</cfscript>
答案 1 :(得分:0)
我不熟悉这里时间戳的格式,但通常当我想要舍入时,我会做一些像floor((val + increment / 2)/ increment)* increment
答案 2 :(得分:0)
我喜欢Al Everett's answer,或者存储实际时间以保留最准确的时间,然后在视图中使用查询查询并使用between
:00 and
:15来显示15分钟的时间。
答案 3 :(得分:0)
如果您使用Henry的建议将精确时间存储在数据库中(原则:如果没有成本,则更喜欢保存数据),那么只要您向用户显示数据,就可以使用Al Everett的舍入功能。