2017-12-18 39 views
1

私は日付と時刻のセル値を扱っていますが、日付値が機能している間は時間が痛いものです。PhpSpreadsheet:getValue()メソッドの書式設定を無効にする

$value = $worksheet->getCell($cellPosition)->getValue(); 
$date = new \DateTime(); 
$date->setTimestamp(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value)); 
echo '<td>' . $date->format('i:s') . '</td>' . PHP_EOL; 

しかし、この例では:ではなく0.375:$valueは9時、そのフォーマットが失敗します。

このデフォルトの書式設定を無効にするにはどうすればよいですか?

答えて

0

\PhpOffice\PhpSpreadsheet\Calculation\Functions::setReturnDateType($returnDateType)メソッドを呼び出すことによって、日付値を返すために使用されるデータ型をスクリプトが変更できる可能性があります。

$returnDateTypeは、RETURNDATE_PHP_OBJECTという定数を使用します。日付値は、Excelで日付と時刻の関数へのアクセスによって、呼び出し元のスクリプトに返さ

その後PHP DateTime object

Handling Date and Time Values

+0

になります私はいくつかのバリエーションを試してみましたが、どれも働きました。私が使用したコードのコンテキストで、コードサンプルをお持ちですか? –

+0

これを返すものは 'echo \ PhpOffice \ PhpSpreadsheet \ Calculation \ Functions :: getReturnDateType();'ですか? – ino

+0

エラーが発生しました:未定義のメソッドを呼び出すPhpOffice \ PhpSpreadsheet \ Calculation \ Functions :: getReturnDa teType() –

関連する問題