作者PsMonkey (痞子军团团长)
看板PHP
标题Re: [请益]在保或不在保天数计算
时间Tue Jun 25 16:47:53 2013
※ 引述《rocairforce (拾贰)》之铭言:
: 我又遇到问题了,关於保险天数的计算
: 一个月的天数恒等於30,可能的情况为一个月内有多次加退保
: 例如3号加保、10号退保、18号再加保、25号又退.....
: 请问我要怎麽算出当月总加保天数或总无加保天数,想破头了
: 谢谢大家
我还是简单回一下好了
太难的东西我不会,不过有的时候还会被某前辈说把事情弄太复杂 Orz
如果你是想要用 SQL 语法算出这玩意
嗯... 我不敢保证一定作不出来,只是... 我大概打死都不会这样作
如果你只是要求出这玩意,不限方法
那你就把 select 出来的结果
重新整理成你喜欢、好写的资料结构
(用 OO 的讲法就是... OO XD)
然後再对这个资料结构去处理
不过日期这种玩意,应该不管哪种语言都会有让你取月份日期的 function
那剩下就是数字区间的掌控
当然,你必须还要确保几个前提假设
例如某个人的保单不会有这种 overlap 的状态
编号 开始 结束
1 01/10 01/30
2 01/20 02/28
3 04/01 04/02
如果允许 overlap 的话,那就要先解决商业逻辑的问题
可能某个商业逻辑下会转变成
开始 结束
01/10 02/28
04/01 04/02
如此之类这样那般
然後整理完毕之後,真的就是加加减减的问题了
理论上 PHP 也会有提供日期比大小、日期剪法的 function
那麽,真的应该不是问题...
有的时候会觉得,资讯领域就是在玩这种整理来整理去的游戏 Zzzzz
====
我自首,我是来混文章数的 [逃]
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.12.219
1F:推 dinos:推,商业逻辑还是让程式处理就好 06/25 17:38
2F:推 dlikeayu:OO的讲法叫OOAD 最後用Design Parttern做出弹性底层 06/27 08:51
3F:→ dlikeayu:所以可以知道需要的角色是"专业保险员"跟"资深程式设计师 06/27 08:56
4F:→ dlikeayu:先去从use case套出在"保险员"工作上的公式再演化成code 06/27 08:57
5F:→ dlikeayu:比较能做出较合理且富弹性扩充的程式 06/27 08:57
6F:→ dlikeayu:所以这篇提到用OO实在是很吸引人(娇喘 06/27 09:00
7F:推 bency:有时候写程式碰到的问题不见得是coding上的问题 06/28 12:01
8F:→ xxxzzz:劳保的话,允许重叠,因一个人可能两份工作.以前写过... 06/28 21:43