我正在计划一个需要在MSsql数据库中存储日期/时间的
PHP应用程序. (对于好奇,它是一个日历应用程序.)存储此信息的首选格式是什么?
MSsql有自己的datetime数据类型,它在数据库本身中运行良好,非常易读.但是,没有任何MSsql函数将datetime值转换为PHP的首选格式 – UNIX时间戳.这使得使用PHP更加痛苦. UNIX时间戳是有吸引力的,因为这是PHP喜欢的,但它当然不是可读的,并且没有一堆漂亮的内置MSsql功能来处理数据.
您将这些信息作为日期时间数据类型存储,作为UNIX时间戳(作为int,bigint或varchar数据类型),并排存储为两种格式,还是作为其他的完整的?
我将以MS-sql格式存储日期,以帮助在T-sql中使用日期处理函数.写和阅读更容易
SELECT * FROM Foo WHERE DateDiff(d,field1,Now()) < 1
而不是通过操纵整数来执行等效操作
要将Mssql日期转换为unix时间戳使用dateDiff:
SELECT DATEDIFF(s,'1970-01-01 00:00:00',fieldName) as fieldNameTS FROM TableName WHERE fieldName between '10/1/2008' and '10/31/2008'
要将Unix时间戳转换为Mssql日期,您可以在PHP中执行:
$mssqlDate = date("Y-m-d H:i:s",$unixDate );
或在Mssql中
INSERT INTO TableName ( fieldName ) VALUES ( DATEADD(s,? ) )
其中参数一是int($unixDate)
原文地址:https://www.jb51.cc/php/132462.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。