|
主题:[分享]10行代码=132行代码:非常简单就可以实现ASP时间格式化的函数分享 [收藏主题] | 转到: |
前几天我在配SQL标签的时候,因为需要用到时间,发现科讯的时间格式还蛮多的,我好奇想看看这个函数是怎么写的,仔细一看吓了一跳,这个函数居然有132行。这个突然让我想到今年高考的理科考生“神奇”解题的思路:在常规思路下,那道理科题目是需要25个以上的步骤才可以将问题解决,而且专家们还故意在常规的思路中设置了重重障碍,估计的作对率在5%,但是出奇的是,有好几个学生居然使用5-6个步骤就解答出来而其很容易看懂,思路非常清晰....,最后专家们感叹这些学生很厉害,除了赞叹之余,我被引入了一个思考的境地......,
转载请注明本文地址:http://www.1366.me/aspjc/64.html
elseIf Types=41 then
大家看了之后,从运行的速度上来看到底谁的会加载快,速度快,效率高! |
|
支持(20) | 反对(21) 顶端 底部 |
支持(22) | 反对(21) 顶端 底部 |
做事讲求效率与耿直.! | |
支持(15) | 反对(9) 顶端 底部 |
支持(2) | 反对(4) 顶端 底部 |
以下是引用 pwcsoft在2010-7-29 23:22:28的发言: 孩子别太过于追求明星,还没看清楚KS DateFormat功能和效果时别乱做对比,如果只是单纯的格式YY-MM-DD hh:ff:ss 一行代码即可。 如果非说二句,那么我只能说你的10行代码其实只是KS的select的一个case 6行代码就足矣。 请你提出他里面有的功能,这个10行代码的有那点无法实现再来说这个话,不经验证就这样说话,未免.... 如果只要年月:time = DateTimeFormat(ByVal DateTime, "YY年MM月") 如果只要月日:time = DateTimeFormat(ByVal DateTime, "MM月DD日") 如果只要时分秒:time = DateTimeFormat(ByVal DateTime, "hh时ff分ss秒") .... YY年MM月,MM月DD日,hh时ff分ss秒,MM/DD hh:ff:ss 这些就是模型,先思考一下吧看对不对吧。 如果说你是觉得只用 KS的select的一个case 6行代码就足矣 那么证明你还不太会灵活运用模型或者最大功能的发挥函数的价值,你仅仅看到了示例格式做了判决定义,这个函数的功能丰富了时间的格式,可以无限变化。 |
|
<a href=http://www.52-game.com title=单机游戏下载基地>单机游戏下载基地</a>—<a href=http://www.dacheng86.com title=seo培训>seo培训</a>—<a href=http://www.1366.me title=插件网>插件网</a> | |
支持(3) | 反对(0) 顶端 底部 |
孤风自己开发了一套CMS系统,博采科讯的长处,去除了无关的功能,有兴趣的百度 FengCms | |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
官方早就想到你的做法,这个函数主要是供系统函数标签解释用的,但从第一个开发版本起,科汛为方便用户,这些格式是做好的,在做标签时直接让用户选择输出格式,如下图:
保留原有代码,一方面保持程序升级的兼容性,另一方面,不需要用去记住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) 顶端 底部 |
以下是引用 科汛官方在2010-7-30 8:58:11的发言: 官方早就想到你的做法,这个函数主要是供系统函数标签解释用的,但从第一个开发版本起,科汛为方便用户,这些格式是做好的,在做标签时直接让用户选择输出格式,如下图: ........ 所以不要只对部分函数做分析,问题考虑是要全面的,特别是这么大的一个系统。这是就是为什么每个用户都能从当初的1.0版本顺利升级到最新版v6.5,官方的考虑是全面的。 就像5.5版本的,你们说数据可以承载多大多大,说缓存多么优秀多么优秀,结果生成4-5万数据就卡死了呢?结果是你们程序循环调用了缓存(这个当时是用打印调出来给你们看过的,你们最后不是没有话说,最后改进了吗),最后不是也改了吗?当时你们也是一个劲的说没有问题。 另外你说需要去记住这些模型,这个需要记忆吗?你想怎么设置格式就怎么设置格式(这个种核心其实是YY标签,MM标签,DD标签,hh标签,ff标签,ss标签),那么你的意思是记住你的0,1,2,3,4,5,6,7,8,9,10,....这些要好些?或者是用户自己去开发好些,为什么不让用户直接使用YY标签,MM标签,DD标签,hh标签,ff标签,ss标签标签呢? |
|
<a href=http://www.52-game.com title=单机游戏下载基地>单机游戏下载基地</a>—<a href=http://www.dacheng86.com title=seo培训>seo培训</a>—<a href=http://www.1366.me title=插件网>插件网</a> | |
支持(0) | 反对(0) 顶端 底部 |
再说单从上面官方的那个时间函数来说代码虽长,但执行效率不会比你写的那个低。原因在于这里用的是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时,只需要执行一句代码
有用户选择带括号或中括号输出时,只需执行两句 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) 顶端 底部 |
<上一主题 | 下一主题 > |