2016-09-29 24 views
1

これは基本的に私は$dayという2つの変数ともう1つは$timeと呼ばれています。これらの両方をunixタイムスタンプに変換することです。日付をタイムスタンプに変換する

$day = 'Monday'; 
$time = '14:00:00'; 

それでは、私が探していると、次のMondayは、UNIXタイムスタンプ形式で14:00:00で来るうちエコーう$timestamp変数です。

これは、その日が特定の日ではなく、次のmondayを選択しなければならないという意味の特定の日ではないということです。次の例はtuesday...です。

ありがとうございました。

+0

は、次月曜日に前方にシーク、現在の日付を取得するあなたの時間を追加し、UNIXタイムスタンプを取得します。今すぐこのコードを実装してください。問題が発生した場合は、datetime-functionsのPHPドキュメントが非常に優れています。 –

答えて

4

DateTimeクラスのコンストラクタは、この種のものを考え出すでかなり良いです:

<?php 
$day = 'Monday'; 
$time = '14:00:00'; 

$date = new DateTime("next $day $time"); 
echo $date->getTimestamp(); 
// 1475503200 
+1

ありがとうございます。それは本当に感謝しています。私の元の質問を解決するとすぐに答えるマーク:) –

0
$datetime = new DateTime(); 
echo $datetime->format('U'); 

ソリューションワン:

mktime - 日付

のためのUnixタイムスタンプを取得します。
echo mktime(23, 24, 0, 11, 3, 2009); 
1257290640 

与えられた引数に対応するUnixタイムスタンプを返します。このタイムスタンプは、Unix Epoch(1970年1月1日00:00:00 GMT)から指定された時間までの秒数を含む長い整数です。

引数は右から左の順に省略することができます。このように省略された引数は、現地の日付と時刻に従って現在の値に設定されます。

mktime($isAM ? $hrs : ($hrs + 12), $mins, $secs, $m, $d, $y); 

AM/PMを処理するには、PMの場合は12時間を追加してください。

対処方法2:

strtotimeは、成功時はタイムスタンプ、そうでなければFALSEを返します。

echo strtotime('2012-07-25 14:35:08'); 

出力:

1343219708 
関連する問題