2010-11-20 8 views
9

01.01.1970より前の日付ではどうすれば作業できますか?PHPを使用する1970年以前のUNIXタイムスタンプ(1700年以前)

私はどのように私はそれを達成することができます年1700

から日付の月の最初の日を取得する必要がありますか?

ありがとうございます!

+0

を使用してみてください、あなたは、入力データと期待される結果の一例を提供することができますか? –

+1

この日付はユリウス暦かグレゴリオ暦か? – PleaseStand

+3

古いバージョンのPHPを使用している可能性があります。 PHP4は死ぬ必要があります。 5.1以降のPHPのバージョンには1970年の制限がありません。これは1901年以降変更されています。 – stillstanding

答えて

15

DateTimeを使用できます。

例:

<?php 
$d = new DateTime("1780-06-01"); 
echo $d->format("l"); //Thursday 

ただし、グレゴリオ暦が世界各地異なる瞬間でadoptedたことを考慮すべきです。

+3

'DateTime'は未来です。 +1。 'DateTime'の良さ(Intervals、CreateFromFormatなど)を楽しむには、PHP 5.3が必要であることに注意してください。ご不明な点がある場合、マニュアルでは、必要なバージョン –

+1

をすべてお知らせします。 $ date =新しいDateTime( '1869-01-01 07:00:00'); echo $ date-> format( 'U'); <<これは動作します。 $ date-> setTimestamp(-3187208524); echo $ date-> format( 'Y-m-d H:i:s'); <<これは動作しません! – vee

+1

@veeはここで動作します(5.5.9)。たぶん32ビットのPHPビルドを使用しているのでしょうか?代わりにタイムスタンプを浮動小数点として渡してみてください( '-3187208524.')。 – Artefacto

関連する問題