コメントで述べたように、これは主に個人的な好みによるものだと思います。私の目には、Unixタイムスタンプと「レガシー」非OOPインターフェースの使用は、今日の世界でそれを行う方法ではありません。たとえば、<コードを使用することはありません(読むべきではありません)。> INT Unixタイムスタンプ形式で日付を格納するためのデータベースのデータ型。代わりに、データベースのネイティブ型(通常は DATE
)を使用する必要があります。 またはDATETIME
PHPのDateTime
と連携するタイプ 標準変換に関しては、オブジェクト(および他の言語)はほぼネイティブです。
標準変換の意味について少し詳しく説明します。MySQLを使用して値をPHPに戻すと、ISO形式の日付文字列が取得されます。この文字列の DateTime
クラスはコンストラクターで解析し、すぐに使用できるオブジェクトを提供します。対照的に、Unixタイムスタンプルートを使用するには、 strtotime
を使用する必要があります。 、次に 日付コード> ネイティブで好きな形式に変換できます。
PHPシステムと.NETシステム間の相互運用については前に説明しました。タイムスタンプを使用することによって引き起こされる特定の問題はありませんが、それは実際的な解決策ではありません。繰り返しになりますが、パイプを直接送信できるDateTime値を返すデータベースを使用します。これをPHPで内部的に使用するためにUNIXタイムスタンプに変換する場合、応答を送信する場合、または.NETアプリケーションに応答を送信する場合(またはAPIとだけ言う必要があります)、それを元に戻す必要があります。この場合)これはタイムスタンプであり、最後に変換します。 DateTime
を使用する 全体的に、変換を行う必要性が軽減され、開発プロセス全体が簡単になります。
最後に、これらすべてに追加するために、投稿でも言及したように、 DateInterval
などの光沢のあるアイテムを使用することができます。 、 DateTime
を使用すると、タイムゾーニング、操作、フォーマットなどが簡単になります。 そしてそれは犯罪における関連するオブジェクト指向のパートナーです。私の目には、開発プロセスが簡単です。
これには「正しい」答えがあると最初に言ったので、私は信じていません。あなた自身のコーディングスタイルに基づく個人的な好みであり、上記のコメントは私のものを反映しています。
- 私は決してそうは思わない。特にPHPスクリプトは、とにかく実行時間の短いプロセスであるのが一般的です。
はい:)
データベースに関する上記のコメントを参照してください。この目的のIMOにUnixタイムスタンプを使用することは「ネイティブ」ではありません。 -> getTimezone
を呼び出すだけです これをデータベースに保存してから、-> setTimezone
を使用します もう一度引き抜くと