2

だから私は、日付を数十年でソートするこのシステムに取り組んでいます。私は make times を使用しており、1900 年以下になるまではすべて正常に動作しています。すべてが 1964 年 12 月 24 日型の日付を返すことを前提としています。なぜこれが起こっているのか、そして可能な解決策はありますか?

そして、これのためのコード:

//$decades is a string ex: '1950-1960'

$decade_array=explode('-',$decades);

$date_active=date("M-d-Y", mktime(0, 0, 0, 1,1 , trim($decade_array[0]) ));
$date_inactive=date("M-d-Y", mktime(0, 0, 0, 1, 1, trim($decade_array[1]) ));

echo $date_active.' '.$date_inactive;
4

2 に答える 2

7

DateTimeクラスで試してください:

$date = new DateTime("1234-01-01");
echo $date->format("M-d-Y"); // outputs Jan-01-1234

DateTime クラスは PHP 5.2 以降で使用できます。

PHP 5.3 を使用している場合は、次を使用しますDateTime::createFromFormat

$date = DateTime::createFromFormat('Y-m-d', "1234-01-01");
echo $date->format("M-d-Y");
于 2011-01-30T20:57:37.453 に答える
2

代替手続き関数

date_format(date_create('1234-01-01'), 'M-d-Y');
于 2011-01-30T21:03:26.110 に答える