0

入力した日付を取得してフォーマットし、データベースに保存する簡単なスクリプトがあります。次のようにstrftime関数を使用していました。

$pdate = strftime('Y-m-d', strtotime($_POST['post_date']));

何らかの理由で、これは突然「Ymd」を返し始めました。はい、最初の引数として渡したフォーマット文字列を返していました。日付情報は一切ありません。また、2番目の引数としてストレートアップのUnicodeタイムスタンプを渡してこれを実行しようとしましたが、それでもフォーマット文字列が返されました。数日前までは問題なく動作していました。これで、代わりにdate()関数を使用するように切り替えました。

$pdate = date('Y-m-d', strtotime($_POST['post_date']));

これですべてが正常に機能します。strftime()関数が突然機能しなくなった理由を誰かが知っているかどうか疑問に思っています。それは本当に奇妙に思えます、そしてそれは一日中私を悩ませることになるでしょう。

4

2 に答える 2

2

実際には、質問は反対かもしれません:)一般的には次のようになるはずなので、正しくフォーマットされた日付をどのように返すのかわかりません。

$pdate = strftime('%Y-%m-%d', strtotime($_POST['post_date']));

ここで説明されているように:)

于 2012-06-07T16:41:11.090 に答える
1

strftimeパラメータで間違った日付形式を使用しています。strftime関数を確認してください。次のようになります。

$pdate = strftime('%Y-%m-%d', strtotime($_POST['post_date']));

他にもたくさんのフォーマットがあります。

于 2012-06-07T16:41:33.877 に答える