gpt4 book ai didi

php - 如何将 TIMESTAMP 格式的值从 excel 插入数据库

转载 作者:行者123 更新时间:2023-12-04 20:57:53 26 4
gpt4 key购买 nike

我想将 TIMESTAMP 格式的值从 excel 插入数据库。该值有点像“1/6/2016 12:00:00 AM”。我使用此代码将值插入数据库

$TimeStamp = mysqli_real_escape_string($conn,trim($objPHPExcel->getActiveSheet()->getCell('A' . $row)->getValue()));

但结果是这样的“42522”。似乎值(value)转移不正确。似乎代码有问题,不适合使用时间戳格式值的插入。我可以知道如何纠正这个吗?

谢谢你。

最佳答案

Excel 在内部将日期存储为自 1900 年 1 月 1 日以来的天数。
例如:“2011 年 6 月 9 日上午 10:30”将存储为“40703.4375”。
40703 是自 01/01/1900 以来的完整天数,0.4375 代表时间 (10.5/24 = 0.4375)。

当您处理从 Excel 电子表格读取的日期(例如使用 PHPExcel)时,您通常希望将它们转换为 UNIX 时间戳,即自 UTC 1970 年 1 月 1 日午夜以来经过的秒数。

这是执行此操作的 PHP 代码:

    // Numbers of days between January 1, 1900 and 1970 (including 19 leap years) 
define("MIN_DATES_DIFF", 25569);

// Numbers of second in a day:
define("SEC_IN_DAY", 86400);

function excel2timestamp($excelDate)
{
if ($excelDate <= MIN_DATES_DIFF)
return 0;

return ($excelDate - MIN_DATES_DIFF) * SEC_IN_DAY;
}

如果您提供稍后在您的应用程序中读取的 Excel 电子表格,您可以在电子表格中添加一个隐藏单元格来为您计算时间戳。
假设 B2 是存储日期的单元格,则计算时间戳的公式为:

代码:
=(B2-DATE(1970,1,1))*86400
现在您只需要从隐藏单元格中读取计算值。

关于php - 如何将 TIMESTAMP 格式的值从 excel 插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com