2016-08-03 13 views
0

私はmysqlのタイムスタンプが "2016-08-03 11:11:41.04000"のようです。 このタイムスタンプは、CONCAT( 'date'、 ''、 'time')selectの結果です。ミリ秒でMySQLの時刻をPHPでJavaScriptタイムスタンプに変換する

PHPでタイムスタンプを数値のみのタイムスタンプに変換する必要があります。これにより、JavaScriptのタイムスタンプをミリ秒精度で保存できるようになります。

この件に関するその他の質問は、MySQLミリ秒の断片がない日付のみを扱うか、strtotime( "'datestring * 1000)を指定すると、ミリ秒の精度が失われます。

ミリ秒精度は、javascriptで使用できるように保存する必要があります。

答えて

2

DateTimeオブジェクトを使用できます。コンストラクタはほぼすべての日付/時刻形式を使用できます。

$datetime = new DateTime('2016-08-03 11:11:41.04000'); 
echo $datetime->getTimestamp(); 
// output: 1470215501 

getTimestampは、UNIXタイムスタンプを秒に基づいているとして、ミリ秒の部分を失うことになると第二の画分を保存することはできません使用して、以下のコメントで述べたように。必要に応じて、独自のタイムスタンプ構文を考えることができます。例えば、各桁の間の任意の区切り文字なしに出力日付&時間:一方

$datetime = new DateTime('2016-08-03 11:11:41.04000'); 
echo $datetime->format('YmdHisu'); 
// output: 20160803111141040000 

は、JavaScriptはミリ秒直接含む日時文字列を解析することが可能です。したがって、PHPで変換せずに入力を直接JSに渡すこともできます。

var datetime = new Date('2016-08-03 11:11:41.04000'); 
console.log(datetime.toJSON()); 
+1

ミリ秒の精度が失われます。 – Marvanni

1

私は次のことを示唆している:あなたのJSの内側にそれを使用している場合

はPHPであなたのconcatstringを印刷します。 JS Dateオブジェクトを使用して、ミリ秒を保持する正しい時間を設定することができます。 http://www.w3schools.com/jsref/jsref_obj_date.asp

短い

var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); 

レッツPHPのもの

0

は、私が使用しているあなたのJS内部パラメータ(年、月、ミリ秒など)の両方の提案に入力します。ここではDateオブジェクトへの参照です@feeelaと@ sietse85のPHPで

:JavaScriptで

$datetime = new \DateTime('2016-08-03 11:11:41.04000'); 
$timestamp = $datetime->format('YmdHisu'); // 2016080311114104000 

/** 
* 2016080311114104000 
* @param string yyyymmddhhiissuuuuuu 
*/ 
function dateFromCustomTimestamp(date) { 
    date = date.toString(); 
    return new Date(
     date.substring(0,4), 
     date.substring(4,6), 
     date.substring(6,8), 
     date.substring(8,10), 
     date.substring(10,12), 
     date.substring(12,14), 
     date.substring(14,20)/100 
    ); 
} 

ない非常に素晴らしいが、MySQL =から保存ミリ秒とタイムスタンプの数値表現を変換するために、問題が解決するかどうか> php => javascript。

+0

あなたはそれを解決してうれしいですが、解決策は最もきついものではないかもしれませんが、現在はコードを改善しようとする可能性もあります:) – sietse85

+0

このメソッドは読みやすくて自明です。 。 – Marvanni

関連する問題