2012-05-01 14 views
-2

2つの質問があります。 私は1978年5月16日のような日付を渡して、MySQLテーブルのdatetimeフィールドに似た形式に変換します。MySQLのフレンドリーな方法で日付情報を取得する

次に、どのようにPHPで現在の時刻を取得しますか? 17時22分59秒

+1

のようにあなたは密接に接続され、ここで2つの質問があります。文書を参照しない場合は – Lix

+1

-1です。これらは、文書 – itachi

+0

でよく説明されている基本機能です。 –

答えて

1

使用このコード:

function convert_time_sql($date){ 
    $date = strtotime($date); 
    $date = date("Y-m-d ",$date).date("G:i:s"); 
    return $date; 
} 

この

NOTE SQL形式の時間戻ります:日付が正しい形式でなければなりませんが参照してください。

http://www.php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/datetime.formats.date.php

EDIT:

使用時間が含まれている場合、この機能:あなたが時間を含めると

function convert_time_sql($date,$time_included=false){ 
    $date = strtotime($date); 
    $date = date("Y-m-d ".($time_included?"G:i:s":""),$date).($time_included?"":date("G:i:s")); 
    return $date; 
} 

は、指定した日付の後に真を置きます。通常、あなたがポストごとに一つの質問に滞在したいと思う -

convert_time_sql('05/16/1978 05:45:59 AM',true);

+0

Vipin Jain、質問にお答えいただきありがとうございます。それは仕事です。しかし、1つの問題があります。渡された日付に時刻情報が含まれている場合(例えば、05/16/1978 05:45:59または05/16/1978 05:45:59 AM)、time部分をどのようにmysql形式に変換しますか?あなたはいつも現在の時刻を返しています。あなたはconvert_time_sqlがより汎用性があるようにあなたの関数を調整できますか? –

+0

お待ちください私はそれのために自分の投稿を編集します。 –

5

ような何かあなたが

  • strtotime()に見たいと思うでしょう - Unixタイムスタンプに任意の英語テキスト形式の日時の記述について
  • time()をパース - 現在のUnixタイムスタンプに
  • date()を返します。 - 現地時間/日付をフォーマットする

date()関数を使用すると、EPOCHタイムスタンプMPおよび任意の形式のタイムスタンプを表す文字列を取り戻すあなたが望む - あなたはいつもEPOCH形式の日付(秒を保存することができます

$now = time(); 
$today = date("M d Y",$now); // May 01 2012 

チェックアウトフォーマットが可能であるかについての詳細は、date function documentation ... 70年1月1日以降)。 EPOCHタイムスタンプの使用と操作は非常に簡単です。私はINT(10)私のデータベース内のこれらの値を格納するフィールドを使用します。

http://www.epochconverter.com/

+0

Vengeful downvotes are fun arn't they? – Lix

+1

downvoteは、日付とタイムスタンプを格納するために特別に作られた型がある場合、整数として時間を節約するのは愚かであるからです。それは間違っている。また、 'DATE *'関数のうち 'DATEDIFF'、' ADDDATE'などを使用することはできません。したがって、あなたの高い馬から降りてください。おそらく誰かがあなたに同意しないでしょう。 – kba

1

http://php.net/manual/en/class.datetime.php

をこのリンクを見てみてください - あなたはEPOCHしてタイムスタンプを実装することを決定した場合に使用するためにここで

は素晴らしいツールです。

$d = "05/16/1978"; 
list($month, $day, $year) = explode("/",$d); 
$datetime = sprintf("%d-%d-%d", $year, $month, $day); 
1

DATETIMEフォーマットはそれにあなたの結果を変換するために、あなたは今、MySQLを理解している、 "1978-16-15" を含んでいるでしょう

$date = "05/16/1978"; 
list($month, $day, $year) = explode("/",$date); 
$datetime = sprintf("%d-%d-%d", $year, $month, $day); 

$datetimeを行うことができ、YYYY-MM-DDです。

date('G:i:s')は、現在の時刻をH:m:sの形式で返します。

1

このDates in PHP and MySQLのブログ記事を読むと、あなたに役立つと思います。
PHPを使用してMySQLに格納されている日付を管理する3つの可能性を要約しています。そこに記載されて一般的な方法は次のとおりです。

一つの一般的な解決策は、DATETIMEフィールドで日付を格納し、PHPのタイムスタンプとMySQLの日付時刻の間で変換するPHPS日()とのstrtotime()関数を使用することです。例えば

$mysqldate = date('Y-m-d H:i:s', $phpdate); 
$phpdate = strtotime($mysqldate); 

は、それはあなたのお役に立てば幸いです。

+2

これは理論的に質問に答えるかもしれませんが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう(http://meta.stackexchange.com/q/8259)。 – Lix

+1

リックス、ありがとう、私は私の答えに詳細を入れようとしました。私はあなたのコメントに感謝し、間違いなく私の将来の答えに気づくでしょう。 – Adi

+0

聞いてよかった!ハッピーコーディング! :) – Lix

関連する問題