哪种格式的日期/时间字符串将被视为跨平台,跨数据库,通用安全?
这个YYYY-MMM-DD HH:MM:SS
在MySQL,SQLite 2& 3,MsSQL等常见数据库?
2010-Jul-12 12:00:00pm
之类的内容怎么办?
答案 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。