数据库安全的日期/时间字符串?

时间:2010-08-16 16:03:47

标签: database datetime format

哪种格式的日期/时间字符串将被视为跨平台,跨数据库,通用安全?

这个YYYY-MMM-DD HH:MM:SS在MySQL,SQLite 2& 3,MsSQL等常见数据库?

2010-Jul-12 12:00:00pm之类的内容怎么办?

4 个答案:

答案 0 :(得分:2)

只要有可能,您应该使用实际日期/时间类型传递和存储日期。如果文化发生变化(也可能在不同的数据库平台上),字符串通常会导致问题。

如果您的语言或数据库库允许您在数据库查询中使用强类型参数,那么这将是最安全的方法。如果您使用列的日期/时间类型并使用您的语言的日期/时间类型传递值,则库将确保您的日期得到正确处理。

答案 1 :(得分:1)

您可以选择定义的标准,例如ISO standard for date and times。它非常通用,易于使用和理解,作为一个定义的标准,您只需说“所有日期时间必须是ISO 8601”并完成它。不用担心现场或文化混乱。

答案 2 :(得分:0)

你真的没有“安全”的DateTime。这一切都取决于文化, 英国是DD / MM / YYYY HH:MM:ss 美国是MM / DD / YYYY HH:MM:ss或者其他什么都不完全确定它是否真的存在但是它是不同的。

我会坚持你的“文化”,并在整个代码中保持一致,以便开发人员可以轻松地阅读您的代码,找出您对数据和时间的疯狂约定。

希望这会有所帮助:)

答案 3 :(得分:0)

您应该使用ISO标准 - YYYY-MM-DDThh:mm:ss [.mmm]

或作为替代YYYYMMDD。

http://msdn.microsoft.com/en-us/library/ms187819.aspx