有人可以帮我解决以下问题。
我使用php和sql来查询微软访问数据库。我有一个名为“StartTime”的日期/时间字段,设置为“常规日期”格式。
从微软访问GUI中检查字段时,日期显示为“08:45:00”。
我的问题是当我用我的php和sql检索这些数据然后显示它然后将它写入浏览器它出现如下“1899-12-30 09:00:00”(让我们称之为我将要说的“长日期格式”)。
我已经尝试使用'长日期格式'作为第二个参数来处理php日期函数,但我似乎无法在浏览器中以“08:45:00”格式显示它。 / p>
请有人告诉我我需要做什么。
谢谢
答案 0 :(得分:1)
问题是MS Access将日期存储为带分数的double。所以你需要相应地解析它。
该数字的整个部分是从1899年12月30日开始的天数。小数部分是一天的分数。因此,您需要将分数乘以24得到小时,将得到的分数乘以60得到分钟,然后将得到的分数乘以60得到秒。
或者,您可以将分数乘以86400(24小时内的秒数),然后使用PHP函数将秒转换为时间。
答案 1 :(得分:1)
您可以要求Access的数据库引擎仅将这些日期/时间值的时间部分作为格式化字符串:
SELECT Format(StartTime, "hh:nn:ss") AS time_only
FROM YourTable;
这样你就不必转换PHP中的值......只需使用它们即可。