2016-05-31 14 views
3

PHP関数を使用して、日付をExcel形式に変換するだけです。変換日時変換用のPHP関数です。数値DATEVALUE変換

例:2013年11月1日

には、これはあなたが文字列に時間を変更することができますExcelで

enter image description here

enter image description here

+0

をあなたがPHPを変換することを意味しますDateTimeオブジェクトまたはUnixのタイムスタンプをフォーマットされた日付に変換するまたは、実際のMS Excelのタイムスタンプ値を書式設定した日付に変換しますか?そして、あなたが 'PHPExcel'を使っているなら(この質問にタグを付けたように)、これを行う組み込み関数があります。 –

+0

はいPHP Datetimeオブジェクトを一般的な数値フォーマットに変換することを意図していました。私は現在PHPExcelを使用していません。私はそれを試してみたいと思っています。 –

+0

PHPExcelは、[PHPExcel_Shared_Dateクラス](https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Shared/Date.php)でこれらのメソッドを提供しています。あなたが探している方法は[PHPToExcel()](https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Shared/Date.php#L181)ですが、コアロジックは[ FormattedPHPToExcel()](https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Shared/Date.php#L217)メソッド –

答えて

3

UnixのタイムスタンプをExcelの日付に変換する方法が見つかりました。

$date_time = "2013-11-01 00:00:00"; 
$date_time_plus_one = strtotime($date_time . ' +1 day'); 
$str_date = strtotime(date('Y-m-d', $date_time_plus_one)); 
$excel_date = intval(25569 + $str_date/86400); 

echo 'php actual date time : ' . $date_time . '<br>'; 
echo 'add one day : ' . $date_time_plus_one . '<br>'; 
echo 'excel Number DATEVALUE : ' . $excel_date . '<br>'; 

秒間:86400,25669日(1899年12月30日から1970年1月1日)です。これは出力です。

PHP実際の日付時刻:2013年11月1日午後12時00分00秒

1日追加:1383330600

エクセル番号DATEVALUE:41579

0

それを行う方法でありますこのような。すべての日付はユニークで、順番に並べ替えることもできます

$month = date("F"); 
$date = date("d"); 
$year = date("Y"); 
$timestamp = strtotime($month . " " . $date . " " . $year);