themeisee / mssql-time-converter

此包已弃用且不再维护。未建议替代包。

将浮点类型转换为DateTime

dev-master 2018-08-02 12:36 UTC

This package is not auto-updated.

Last update: 2020-02-28 20:20:05 UTC


README

将浮点类型转换为DateTime对象。适用于MSSQL,因此可以进行查询

SELECT CAST(43243.5382623071 AS datetime) as human_time;
-- or
SELECT CAST(GETDATE() AS float) as float_time;

但尚未支持毫秒

使用方法

浮点型转DateTime

$converter = new MSSQLTimeConverter();
$MSDateTime = 43243.5382623071;
$humanDate = $converter->floatToDateTime($MSDateTime, 'Europe/Kiev');

echo $humanDate->format('Y-m-d H:i:s.u'); // 2018-05-25 12:55:05.000000

DateTime转浮点型

$timeNow = new DateTime('2018-05-25 12:55:05.000000', 'Europe/Kiev');
$converter = new MSSQLTimeConverter();

echo $converter->dateTimeToFloat($timeNow); // ~43243.5382623071

如果您只想转换时间

$time = "12:55:05";
// You need to hardcore 1900-01-01. I hope it's temporary.
$dateTime = new DateTime("1900-01-01 " . $time, 'Europe/Kiev');
$converter = new MSSQLTimeConverter();

echo $converter->dateTimeToFloat($timeNow); // ~43243.5382623071

待办事项

  • 支持毫秒