strtotime
日付をタイムスタンプに変換する関数を使用しています
echo strtotime('4-5-2013');
その結果は1367618400です。これは正しいです。私の問題は、日付の形式が dd-mm-yyyy ではなく mm-dd-yyyy の場合です。たとえば、同じ日付は 5 月 4 日ではなく 4 月 5 日です。
strtotime
日付をタイムスタンプに変換する関数を使用しています
echo strtotime('4-5-2013');
その結果は1367618400です。これは正しいです。私の問題は、日付の形式が dd-mm-yyyy ではなく mm-dd-yyyy の場合です。たとえば、同じ日付は 5 月 4 日ではなく 4 月 5 日です。
strtotime は、文字列を-
asdd-mm-yyyy
および/
asとして扱いますmm/dd/yyyy
。
4-5-2013
5月4日になります
4/5/2013
4月5日になります
m/d/y または dmy 形式の日付は、さまざまな構成要素間の区切り記号を調べることで明確になります。区切り記号がスラッシュ (/) の場合、アメリカの m/d/y が想定されます。一方、セパレータがダッシュ (-) またはドット (.) の場合は、ヨーロッパの dmy 形式が想定されます。
最近のコメントの通り
あなたが使用することができます
echo date("M-d-Y", mktime(0, 0, 0, 12, 31, 1997));
任意の形式を渡し、mktime 関数を使用します。
echo strtotime('5-4-2013');//Oupt puts 1367650800
echo strtotime('4-5-2013');//Oupt puts 1367618400