2011-07-19 21 views
9

タイムスタンプフィールドであるデータベースからフィールドを取得するとします。今後1ヶ月間Unixタイムスタンプを取得する方法

将来、そのタイムスタンプフィールドからUnixタイムスタンプを取得するにはどうすればよいですか?

私の脳はちょっと疲れていますので、ちょっとしたジョギングが必要です。

+1

CURRENT_TIME + 60 * 60 * 24 * 30 – user482594

+3

、私は将来的に月にしたいです。 – FinalForm

+0

ありがとう。私は遅れている。私は少し疲れています。 – FinalForm

答えて

20
$newDate = strtotime('+1 month',$startDate); 

敏感月コンテキストを追加するには「1月」あなたはそれを渡すことができstrtotime()を使用します。

2

strtotime('+1 month', $value_from_db); 

仕事ではないでしょうか?

7

私は自分のタイムスタンプに+1 monthを追加するために、strtotime()機能を使用します。strtotime()

$future = strtotime('+1 month', $current_time); 


を、あなたは30日AVECいくつかの月」のようなもの、などについての自分を考える必要はありません。 31 "、または" 2月は時々28日、時には29 "を持っています。結局のところ

、これまでに1ヵ月追加すると...


を30 * 24 * 3600秒を追加することに少し難しいですまたDateTimeクラスと連携し、そのようDateTime::modify()DateTime::add()ような方法でした。

+0

ありがとう、私ははっきりと考えていませんでした。なんらかの理由で、私はstrtotime()が1つのパラメータしか許さないと考えていました。 – FinalForm

+0

胡^ ^^問題ありません:-) –

2

データベースによって異なります。

  • MySQLはPostgreはあなただけINTERVAL 1 MONTHを追加することができますTIMESTAMPADD
  • を持っています。
  • オラクルは迷惑です。しかし、あなたはそれを行う方法を見つけることができますhere。もちろん

(申し訳ありませんが、他の人を知ってはいけない)

strtotime('+1 month', $current_time);はPHPでもあります。もちろん、strtotimeはとても信じられないほど簡単ですが、それは不正行為と考えるかもしれません;-)。

0

どのようなものについて:未来へ30日間です

tm *currTime = localtime(timestamp); 

currTime->tm_mon++; 

timestamp = mktime(currTime);