2017-09-22 13 views
1

質問します。ユニークな文字列をタイムスタンプに変換する

私はhtmlからデータを取得し、私は私のdbに挿入しようとします。 「午後8時16分25秒8/8 /2017ÂÂ」のような形式を挿入する場合。 タイムスタンプ形式に変換する方法は、範囲を決めたいからです。 文字列を切り取り、挿入する前にそれをutf8_decodeまたはutf8_encodeにしようとします。しかし、範囲iは時間を得ることができません。私の英語のために申し訳ありません。

CODE:

$first = array('PM','/','AM'); 
$first2 = array('','-',''); 
$strreplacebegdate = str_replace($first,$first2, $tujuh); 
$substrreplacebegdate1 = substr($strreplacebegdate,14,9); 
$re = array(' ','?'); 
$re2 = array('',''); 
$strreplacebegdatelagi = str_replace($re,$re2, $substrreplacebegdate1); 
$substrreplacebegdate2 = substr($strreplacebegdate,6,7); 
$consubstringbegdate = $substrreplacebegdate1." ".$substrreplacebegdate2; 
$timeenddate = strtotime($strreplacebegdatelagi); 
$newformatbegdate = date('Y-m-d',$timeenddate); 

出力:0000-00-00午後十二時00分00秒

+0

ここであなたの質問は分かりません。あなたは特別な文字*を掃除したいと思いますか、または2つの日付の差を計算したいのですか? –

+0

申し訳ありませんが、私の質問は、清掃し、日付の時間に変換する方法です。 –

答えて

1

あなたの日付文字列をきれいにすることを好む。この場合正規表現を使うことができます。正規表現は、特定の文字だけを通過させ、残りのすべての特殊文字と隠し文字を削除することを許可します。

$dirty_date = 'Â Â 8:16:25 PM 8/8/2017Â Â'; 
echo $date = preg_replace("/[^0-9a-zA-Z \/:\-]/", "", $dirty_date); 
echo "\n"; 
echo $xtime = strtotime($date); 
echo "\n"; 
echo date("Y-m-d H:i:s",$xtime); 
+0

うわー、うわー、Shoaib Zafarに感謝します。あなたを助けてください。非常にありがとう –

+0

私の喜び....多分upvoteあなたのために役立つ場合。 –

0

あなたはこのためにstrtotime()を使用することはできません。あなたの日付は異なる形式になっています。あなたはこのようにすることができます。

$str_time = 'Â Â 8:16:25 PM 8/8/2017Â Â'; 
$date = DateTime::createFromFormat('Â Â h:i:s a d/m/YÂ Â', $str_time); 
$timestamp = $date->getTimestamp(); 

createFromFormat()の詳細については、こちらをご覧ください。このhttp://php.net/manual/en/datetime.createfromformat.phpにアクセスしてください。私はこれが助けてくれることを願っています

+0

前に感謝、文字をきれいにする方法.. –

+0

私は私の答えを編集しました。特別な文字でも動作します。それが助けてくれたら、アップアップしてください。 –

関連する問題