- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 PHPSpreadsheet 格式化时间单元格,但在查看公式栏时它似乎也包括日期。从字符串、日期时间对象或 unix 时间戳转换时,似乎也存在一些不一致。
<?php
include '../vendor/autoload.php';
use \PhpOffice\PhpSpreadsheet\Spreadsheet;
use \PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$times = [
'16:00:00',
new \DateTime('16:00:00'),
\strtotime('16:00:00'),
'2020-04-04 16:00:00',
new \DateTime('2020-02-04 16:00:00'),
\strtotime('2020-02-04 16:00:00'),
];
$format = \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_TIME1;
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
foreach ($times as $i => $time) {
$sheet->setCellValue('A' . ($i+1), \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel($time));
$sheet->getStyle('A' . ($i+1))->getNumberFormat()->setFormatCode($format);
}
$writer = new Xlsx($spreadsheet);
$writer->save('test.xlsx');
\PHPOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_TIME1
:
const FORMAT_DATE_TIME1 = 'h:mm AM/PM';
const FORMAT_DATE_DATETIME = 'd/m/yy h:mm';
确实包含一些日期参数,我认为发生了一些错误。
最佳答案
我想出了如何解决这个问题:您需要计算时间戳的 Excel 表示,然后只获取小数点后的数字。
<?php
$timestamp = new \DateTime('16:00:00');
$excelTimestamp = \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel($timestamp);
$excelDate = floor($excelTimestamp);
$time = $excelTimestamp - $excelDate;
In Excel, dates and Times are stored as numeric values counting the number of days elapsed since 1900-01-01. For example, the date '2008-12-31' is represented as 39813. You can verify this in Microsoft Office Excel by entering that date in a cell and afterwards changing the number format to 'General' so the true numeric value is revealed. Likewise, '3:15 AM' is represented as 0.135417.
关于PHPSpreadsheet:为时间格式化单元格还包括日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61020697/
这个问题在这里已经有了答案: Javascript: hiding prototype methods in for loop? (7 个答案) 关闭 8 年前。 我做了一个小脚本,迭代并打印一个J
In the CoreData Apple Docs on working in the background ,我遇到了这条建议: For example, you can configure a
@Transactional(rollbackFor = MyCheckedException.class) public void foo() { throw new RuntimeExce
假设我有一个具有 3 个级别 A1、A2、A3 和 NA 的因子 A。每个出现 10 个案例,所以总共有 40 个案例。如果我做 subset1 , 0 如果我们将其重新定义为 match 的标准定义
我们正在尝试从 MySQL 数据库的多个表中进行选择。 我们的查询是: SELECT r.reviews_id, r.customers_name, r.date_adde
我一直在尝试为应用程序开发构建一组可重用的库,但我开始遇到问题。 我的一个静态库是一组通用方法(Objective-C 基础类的类别以提高它们的可用性),我倾向于在每个项目中使用它们。 (我们称它为
我是一名优秀的程序员,十分优秀!