解決oracle 與 php 周算法不同_Oracle數據庫_龍虎鷹師網安服務器維護基地--Powered by www.594645.tw

解決oracle 與 php 周算法不同

作者:龍虎鷹師網安Oracle維護基地 來源:龍虎鷹師網安Oracle維護基地 瀏覽次數:0

本篇關鍵詞:oraclephp
龍虎鷹師網安網訊:今天遇到了個小問題,項目要求在數據庫里查出某一天上一周的數據列,sql語句還好寫;


[sql] 


    to_char("date",'ww') >:date  


運行,測試。起初還好,幾輪測試下來出問題了,總是有那么幾天不正確,就是
今天遇到了個小問題,項目要求在數據庫里查出某一天上一周的數據列,sql語句還好寫;
[sql] 
  1. to_char("date",'ww') >:date  

運行,測試。起初還好,幾輪測試下來出問題了,總是有那么幾天不正確,就是說手算是40周,這是查詢時卻不是,有可能是41,所以我查了下手冊,原來php中給日期格式化是這樣的

[php] 
  1. date("W")//當天是當年的第幾周,注:每周是從星期一開始  

但是在oracle周的解釋是每周是從一月一日算起,所以顯而易見會有些問題,所以為了解決我們就最好使他們保持一致,所以我寫了下面的算法,跟大家分享下

 

[php]
  1. function get_week_index($month=null, $day=null, $year=null){  
  2.         //拿到某一天的月日年  
  3.         $month =$month?$monthdate("m");  
  4.         $day =$day?$day:date("d");   
  5.         $year  =$year?$yeardate("Y");  
  6.         //得到那一天的時間戳  
  7.         $getDay = mktime(0, 0, 0, $month$day$year);  
  8.         //得到差值  
  9.         $dayMin =$getDaymktime(0, 0, 0, 1, 1, $year);  
  10.         //換算出是第幾周  
  11.         $dayR =(int) ($dayMin / (7*24*3600));   
  12.         return ++$dayR;  

    龍虎鷹師網安服務器維護方案本篇連接:http://www.594645.tw/show-17111-1.html
網站維護教程更新時間:2012-09-06 01:15:46  【打印此頁】  【關閉
全站連接N點 | 龍虎鷹師網安 |  
專業服務器維護及網站維護手工安全搭建環境,網站安全加固服務。龍虎鷹師網安服務器維護基地招商進行中!請QQ:29769479

footer  footer  互聯網安全  footer    

江苏快三和值一定牛