ビットフライヤーの約定時刻をunixtimeに変換する関数。必要な修正をすれば他でも使えるはず。日付は結構厄介。
microtime()は、現在時刻のマイクロ秒をunixtimeに変更で、引数に指定の時刻を指定できないので、文字列入力で、マイクロ秒をunixtimeスタンプに変換する関数をつくってみた。
入力は、文字列時刻であればOK。
変換はマイクロ秒分を追加しているだけ。
※dateは、マイクロ秒が000になってしまうので、マイクロ秒の取得をしたい場合は、DateTime()でしか取得。
参考:php日付
$d = new DateTime(); $result = time_to_microtime ($d->format('Y/m/d H:i:s.v')); //ISO 8601でも大丈夫 //$result = time_to_microtime ($d->format('Y/m/d\TH:i:s.v')); echo $result; //マイクロ秒に変換関数 function time_to_microtime ($input_time) { //文字列変換 $input_time = (string)$input_time; //var_dump($input_time); //マイクロ秒分割 $data = explode(".",$input_time); //var_dump($data); //時間、分、秒までは共通変換 $head_time = strtotime((string)$data[0]); //3桁か確認する if(strlen((string)$data[1]) == 1) { $micro_parts = "00".(string)$data[1]; } elseif(strlen((string)$data[1]) == 2) { $micro_parts = "0".(string)$data[1]; } else { $micro_parts = (string)$data[1]; } $format_time = $head_time.".".$micro_parts; $format_time = (float)$format_time*1000; return $format_time; }