私は自分のウェブサイトのユーザーシステムを持っています。今日の日付に 30 日を追加するものを作成する必要があります。
更新: 日付の代わりに整数を使用することにしました。
これが私がしたことです。誰かが請求書を支払うと、「日数」の値が (値) + 30 に設定されるように設定しました
すべてのユーザーの「日」から 1 日を奪う cron ジョブを作成しました。もちろん、cron ジョブを 1 日 1 回実行するように設定しました。
私は自分のウェブサイトのユーザーシステムを持っています。今日の日付に 30 日を追加するものを作成する必要があります。
更新: 日付の代わりに整数を使用することにしました。
これが私がしたことです。誰かが請求書を支払うと、「日数」の値が (値) + 30 に設定されるように設定しました
すべてのユーザーの「日」から 1 日を奪う cron ジョブを作成しました。もちろん、cron ジョブを 1 日 1 回実行するように設定しました。
strtotime
とを次のように使用date
します。
echo date('Y-m-d', strtotime("+30 days"));
また
<?php
echo date('Y-m-d h:i:s')."\n";
echo date('Y-m-d h:i:s', mktime(date('h'),date('i'),date('s'),date('m'),date('d')+30,date('Y')))."\n";
?>
まず、このように日付を追加できます
$iSecsInDay = 86400;
$iTotalDays = 30;
$user_signup = time() + ($iSecsInDays * $iTotalDays);
次に、タイムスタンプを使用して、好きな方法で日付を生成できます。
$date = date('d-m-Y', $user_signup);
完全な参照はここにあります。http://php.net/manual/en/function.date.php
strtotime関数を使用します。
strtotime('+30 days', time());
実際の日付に+30日を追加し、mysqlに導入する場合は、次を使用できます。
$ nextMonthDate = date( "Ymd H:i:s"、strtotime( "+ 30日"、time()));
Ymd H:i:sは、MySQLDATETIMEの形式です。
例:
実際の日付:echo echo date( "Ymd H:i:s"、time()); -> 2013-03-08 00:37:23
+30日:echo date( "Ymd H:i:s"、strtotime( "+ 30日"、time())); -> 2013-04-07 00:37:23
$NewDate=Date('y:m:d', strtotime("+30 days"));
int strtotime ( string $time [, int $now = time() ] )
この関数は、英語の日付形式を含む文字列が与えられることを期待し、その形式を解析して Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 UTC からの秒数) に変換しようとします。 now が指定されていない場合は現在の時刻。
関数をクラスの変数に直接割り当てることはできません。これが、追加のエラーが発生する理由です。コンストラクターに移動することを検討してください。
...
private $user_signup = null;
public function __construct() {
$date = new DateTime();
$date->add(new DateInterval('P30D'));
$this->user_signup = $date->format('Y-m-d');
}
...
関数の結果を PHP クラス内の変数に代入するも参照してください。詳細については、 OOP Weirdnessを参照してください。