现实中会有一种计算方法将时间计算为一个浮点数的形式来保存,这个时候就需要将其转为为可以看得懂的 日期格式 PL/SQL 数字化日期 –将用小数形式表示的 日期时间 转化为 天-小时-分钟-秒 的形式function fmt_time (p_days in number) return varchar2as l_da
现实中会有一种计算方法将时间计算为一个浮点数的形式来保存,这个时候就需要将其转为为可以看得懂的 日期格式 PL/SQL 数字化日期 <style> .CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;} .CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;} .CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;} .CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;} .CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;} .CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;} .CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;} .CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;} .CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;} .CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FFFFFF;color:#00A;padding: 2px 5px;text-decoration:none;} </style> <!—ecms
- –> <!—ecms
- $velocityCount
–> <!—ecms
–>
--将用小数形式表示的 日期时间 转化为 天-小时-分钟-秒 的形式function fmt_time (p_days in number) return varchar2as l_days number; l_hours number; l_minutes number; l_seconds number; l_sign varchar2(1); l_returnvalue string_util_pkg.t_max_pl_varchar2;begin /* Purpose: get time formatted as days, hours, minutes, seconds Remarks: Who Date Description ------ ---------- ------------------------------------- MBR 18.12.2006 Created */ --通过传入的 日期获得相应的 各个单位数据 --整数部分为 天 l_days := nvl(trunc(p_days),0); --小数部分 *24 得到小时 l_hours := nvl(((p_days - l_days) * 24), 0); --获得的小时 数据的小数部分 *60 为分钟 l_minutes := nvl(((l_hours - trunc(l_hours))) * 60, 0); --同样的 将获得的 分钟的小数部分*60 为秒 l_seconds := nvl(((l_minutes - trunc(l_minutes))) * 60, 0); --判断日期正负 符号 if p_days 0 then l_returnv<span style="color:transparent">来1源gaodai#ma#com搞*代#码1网</span>alue:=string_util_pkg.get_str('%1 days, %2 hours, %3 minutes', l_days, l_hours, l_minutes); elsif l_hours > 0 then l_returnvalue:=string_util_pkg.get_str('%1 hours, %2 minutes, %3 seconds', l_hours, l_minutes, l_seconds); elsif l_minutes > 0 then l_returnvalue:=string_util_pkg.get_str('%1 minutes, %2 seconds', l_minutes, l_seconds); else l_returnvalue:=string_util_pkg.get_str('%1 seconds', l_seconds); end if; --加上 符号 l_returnvalue:=l_sign || l_returnvalue; return l_returnvalue;end fmt_time;