0

現在、データベースに挿入するコードは次のとおりです。

mysql_query("INSERT INTO lookup_table (
    the_date
        )
VALUES(
        NOW()
)
";)

1行で、それは次のとおりです。

mysql_query("INSERT INTO lookup_table (the_date) VALUES(NOW())";)

問題は、何らかの理由で、ここにある NOW() がデータベースに 12 時間制を記録していることです。(1:03 PM は、13:03:00 ではなく、01:03:00 として記録されます。)

NOW() に 24 時間形式で指定するにはどうすればよいですか?

私は書式設定について多くのことを読みました。残念なことに、過去に何度も起こったように、ほとんど目立たない小さなフォーマットの問題が原因で、正しく機能しなくなる場合があります。

書式設定が正しいことを確認するために、試行錯誤を長時間行わないようにしています。

「 」という行は「NOW()」に置き換える必要があるとDATE_FORMAT(NOW(), %Y-%m-%d %T)思いますが、私が証人を率いていない独立した確認と、「ええ、それで十分ですね」と言う人を探しています。

現在、データベースのエントリは次のようになっています。

2012-06-27 01:03:36

次のように、時間が 01 ではなく 13 と表示されなければ、これは完璧です。

2012-06-27 13:03:36

「NOW()」が機能していることはわかっています。24 時間形式である必要があり、デフォルトでサポートされています。何らかの理由でこれが発生していません。24 時間形式として記録するために、「NOW()」の代わりにどの特定の英数字シーケンスを配置するかを知りたいだけです。

4

4 に答える 4

1

NOW() は 12 時間制を返すべきではありません。タイムゾーンの設定が間違っている可能性があります。select @@time_zone を実行して、結果を確認してください (デフォルトは SYSTEM です)。システム クロックが UTC である可能性があります。ここのドキュメントに従って MySQL のタイムゾーンを設定できます: http://dev.mysql.com/doc/refman//5.5/en/time-zone-support.html

于 2012-06-28T06:19:28.677 に答える
1

のドキュメントをNOW()考えると、あなたのシステムがどういうわけか非常に奇妙に構成されているか、現在 UTC から 12 時間ずれているタイム ゾーンにいるのではないかと思います。(または、サーバーがUTC のみを使用するように構成されているため、UTC 時刻が表示されますが、ローカル時刻が期待されていました。)NOW()たとえば、によって返される形式がカルチャ設定の影響を受けるというドキュメントからの兆候はありません。

一般的には、結果を保存するUTC_TIMESTAMP()方がより良いアプローチになることをお勧めしますが、もちろん、最終的に適切な形式になるようにする必要があります。

朝に何が見えますか? 使用しただけで同じ効果が見られますか?

SELECT NOW(), UTC_TIMESTAMP()

インタラクティブなクエリ ウィンドウから? 同様に、同じクエリを試すことができる他のサーバーはありますか? どのバージョンの MySQL を実行していますか?

于 2012-06-28T06:10:21.680 に答える
0

すっごく、ここで何が起こったのですか:

クライアントは、日付と時刻のフォーマットが適切でないことを好みます。それはいいです。

良くないのは、誰かが、どこかで、彼らにとって間違ったものをすべて表示するのに役立つコードのようなもので、それが時々記録される方法の一部になることができたということです. 違いは "h" と "H" でした。そのため、時刻が 24 時間ではなく 12 時間として間違って保存されていました。

NOW() は間違いなくデフォルトで 24 時間記録ですが、私が使用しているスパゲッティ コードでは、状況によっては、代わりに 12 時間記録するように変更されていました。

tl;dr---おっと、「h」がどこかで「H」であるべきだと気がつきませんでした。これはばかげた質問でした。私のばかげた質問の削除を請願したい.

于 2012-06-28T06:34:16.020 に答える
0

DATE_FORMAT()関数で NOW() をラップします。

于 2012-06-28T05:48:29.817 に答える