18

0000-00-00 00:00:00(datetimesql)形式の日付をUNIXタイムスタンプに変換するためにPHP関数に座っている人はいますか?

4

6 に答える 6

38

PHP 5.2 でこれを行うには、次のようにします。

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

PHP 5.3 でこれを行う新しい方法は次のとおりです。

$datetime = new DateTime();
echo $datetime->getTimestamp();
于 2013-01-29T03:35:43.137 に答える
24

この質問にSQLのタグを付けた場合の別のオプション:MySQL関数FROM_UNIXTIMEUNIX_TIMESTAMP-> MySQLマニュアル

SELECT UNIX_TIMESTAMP(datetime_column)FROMテーブル

これは通常、PHP関数呼び出しよりも高速です。

于 2009-01-18T17:47:41.057 に答える
9

@bartek-お気づきのように、PHPのstrtotime関数はこれに最適です。「tomorrow」や「+5months」などの文字列を含む、最も一般的な日付形式を処理できます。

于 2009-01-18T17:55:46.017 に答える
6

私はあなたのための解決策をここに持っています:

/* From MySQL datetime to Unix Timestamp 2003-12-30 23:30:59 -> 1072834230 */
function convertMysqlDateTimeToUnixTimeStamp($date) {
    $yr=strval(substr($date,0,4));
    $mo=strval(substr($date,5,2));
    $da=strval(substr($date,8,2));
    $hr=strval(substr($date,11,2));
    $mi=strval(substr($date,14,2));
    $se=strval(substr($date,17,2));
    return mktime($hr,$mi,$se,$mo,$da,$yr);
}
于 2012-12-30T16:30:15.627 に答える
5

strptime()時間を解析して構造化配列に変換するために使用します。

次に、その結​​果をmktime()関数に渡してUNIXタイムスタンプを取得します。

于 2009-01-18T17:44:40.640 に答える
-3

wvanbergen のソリューションを関数にカプセル化する (便宜上)

//Convert SQL datetime to unixtime -- by johnboiles
function datetimeToUnixtime($datetime){
    $result = mysql_query("select unix_timestamp('$datetime')");
    $unixtime = mysql_fetch_array($result);
    return $unixtime[0];
}
于 2009-08-26T21:33:54.547 に答える