2012-04-03 19 views
1

私は毎月のレポートをプルするときに、月の2日目からその月の最後までの日までのエントリのみを表示します。たとえば、4月のレポートにのみ示しています月までにunixタイムスタンプの問題

04/02/12 - 04/29/12

私はエントリを表示するためには何を変更することができます。

04/01/12 - 04 /マニュアルから30/12

$month = $_GET['month']; 
if ($services =  $db->get_results("SELECT * from vw_newservices where month(from_unixtime(datetime)) = '$month'")) { 
foreach ($services as $service) { 
$datetime = date("m/d/y",$service->datetime); 

おかげ

答えて

1

注:TIMESTAMP値とUnixタイムスタンプ値の間で を変換するためにUNIX_TIMESTAMP()およびFROM_UNIXTIME()を使用する場合、マッピングは双方向で一対一ではないため、 lossyです。 の例では、2つのTIMESTAMP値を同じUnixタイムスタンプ値 にマップするために、2つのUNIX_TIMESTAMP()がローカルタイムゾーンの変更のために、 の可能性があります。 FROM_UNIXTIME()は、その値を元のTIMESTAMP値の1つのみである に戻します。

を使用すると、タイムゾーンを考慮せずunix_timestampsを持つようにしたい場合は、あなたがそれを自分で計算することができhere.

を参照してください。 MySQLの

タイムスタンプからunixtimeする:

SELECT timestampdiff(second, '1970-01-01', yourTimestampColumnOrValue); 

他の方法

SELECT timestampadd(second, yourTimestampColumnOrValue, '1970-01-01'); 

SQL Serverのの場合には、このlinkを参照してください。