账号通
    

账号  

密码  

7377

查看

17

回复
主题:[分享]10行代码=132行代码:非常简单就可以实现ASP时间格式化的函数分享 [收藏主题] 转到:  
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2010/7/30 8:58:11   | 显示全部帖子 查看该作者主题 楼主 
官方早就想到你的做法,这个函数主要是供系统函数标签解释用的,但从第一个开发版本起,科汛为方便用户,这些格式是做好的,在做标签时直接让用户选择输出格式,如下图:



点击查看原图







保留原有代码,一方面保持程序升级的兼容性,另一方面,不需要用去记住YY年MM月,MM月DD日,hh时ff分ss秒,MM/DD hh:ff:ss,【MM-DD】,[MM-DD hh:ff] ,CMS不就是要方便用户吗?









你如果用过sql标签,就知道sql就是你说的实现方式



点击查看原图



对应的解释文件ks_cls/kesion.label.sqlcls.asp



  '取日期字段的值

  '参数说明:FieldValue-字段值,DateMB-输出日期模板

  Function Get_Date_Field(FieldValue,DateMB)

    IF Not IsDate(FieldValue) Then Get_Date_Field=FieldValue:Exit Function

    Get_Date_Field=Replace(DateMB,"YYYY",Year(FieldValue))

    Get_Date_Field=Replace(Get_Date_Field,"YY",Right("0" & Year(FieldValue), 2))

    Get_Date_Field=Replace(Get_Date_Field,"MM",Right("0" & Month(FieldValue), 2))

    Get_Date_Field=Replace(Get_Date_Field,"DD",Right("0" & Day(FieldValue), 2))

    Get_Date_Field=Replace(Get_Date_Field,"hh",Right("0" & hour(FieldValue), 2))

    Get_Date_Field=Replace(Get_Date_Field,"mm",Right("0" & minute(FieldValue), 2))

    Get_Date_Field=Replace(Get_Date_Field,"ss",Right("0" & second(FieldValue), 2))

  End Function









所以不要只对部分函数做分析,问题考虑是要全面的,特别是这么大的一个系统。这是就是为什么每个用户都能从当初的1.0版本顺利升级到最新版v6.5,官方的考虑是全面的。
 
KesionCMS,,
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
科汛官方 当前离线

47268

主题

145

广播

405

粉丝
添加关注
级别:管理员

用户积分:101604 分
登录次数:7935 次
注册时间:2006/12/7
最后登录:2023/12/14
科汛官方 发表于:2010/7/30 9:21:41   | 显示全部帖子 查看该作者主题 沙发 
科汛智能建站系统
再说单从上面官方的那个时间函数来说代码虽长,但执行效率不会比你写的那个低。原因在于这里用的是select,select只跳到符合条件里块里执行,


Case 1,21,41
DateString=Year(DateStr) & "-" & Right("0" & Month(DateStr), 2) & "-" & Right("0" & Day(DateStr), 2)
if Types=21 then
DateString = "(" & DateString &")"
elseIf Types=41 then
DateString = "[" & DateString &"]"
end if



当用户在系统函数标签里选择样式1时,只需要执行一句代码
  1. DateString=Year(DateStr) & "-" & Right("0" & Month(DateStr), 2) & "-" &
  2. Right("0" & Day(DateStr), 2)


有用户选择带括号或中括号输出时,只需执行两句
DateString=Year(DateStr) & "-" & Right("0" & Month(DateStr), 2) & "-" & Right("0" & Day(DateStr), 2)
if Types=21 then
DateString = "(" & DateString &")"
elseIf Types=41 then
DateString = "[" & DateString &"]"
end if




再者这些都不是访问数据库操作的,都是不占用资源的。

赞同你的认真学习进取态度,但也别太研牛角尖了!


站在别人原有的代码上分析做二次开发,当然是简单得多。






 
KesionCMS,,
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.15625秒 powered by KesionCMS 9.0