如何用php转换microsoft访问时间格式


How to convert microsoft access time format with php

有人能帮我做以下事情吗。

我正在使用php和sql查询一个微软访问数据库。我有一个名为"StartTime"的日期/时间字段,设置为"常规日期"格式。

从microft访问GUI中检查字段时,日期显示为"08:45:00"。

我的问题是,当我用php和sql检索这些数据,然后将其显示在中,然后将它写入浏览器时,它显示如下"1899-12-30 09:00:00"(让我们称之为"长日期格式"来表示我要说的内容)。

我试着用"长日期格式"作为第二个参数来处理php日期函数,但我似乎无法让它在浏览器中以"08:45:00"的格式显示。

有人能告诉我我需要做什么吗?

感谢

问题是MS Access将日期存储为带分数的双精度。因此,您需要相应地解析它。

这个数字的全部是1899年12月30日以来的天数。分数部分是一天中的分数。因此,你需要将分数乘以24得到小时,将所得分数乘以60得到分钟,将所得小数乘以60得到秒。

或者,您可以将分数乘以86400(24小时内的秒数),然后使用PHP函数将秒转换为一天中的时间。

查看这篇文章:http://support.microsoft.com/kb/210276

您可以要求Access的数据库引擎只将这些日期/时间值的时间部分作为格式化字符串提供给您:

SELECT Format(StartTime, "hh:nn:ss") AS time_only
FROM YourTable;

这样你就不必转换PHP中的值。。。只要使用它们。