Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql的时间戳字段中插入日期?_Mysql_Date_Timestamp_Unix Timestamp - Fatal编程技术网

如何在mysql的时间戳字段中插入日期?

如何在mysql的时间戳字段中插入日期?,mysql,date,timestamp,unix-timestamp,Mysql,Date,Timestamp,Unix Timestamp,我需要在mysql中的timestamp字段中插入上世纪60年代早期的日期。我在时间戳中有一个字段“发送日期”。我正在尝试插入'1960-05-18 03:20:00'(unix时间戳为-303684000),但mysql给了我错误。如何插入60年代的日期? 我的查询:插入到支持(发送日期)值(-303684000)时间戳只能用于'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'UTC的日期 要解决您的问题,您可以将字段support更改为键入DATET

我需要在mysql中的
timestamp
字段中插入上世纪60年代早期的日期。我在时间戳中有一个字段“发送日期”。我正在尝试插入'1960-05-18 03:20:00'(unix时间戳为-303684000),但mysql给了我错误。如何插入60年代的日期?
我的查询:
插入到支持(发送日期)值(-303684000)
时间戳
只能用于
'1970-01-01 00:00:01'UTC
'2038-01-19 03:14:07'UTC
的日期

要解决您的问题,您可以将字段
support
更改为键入
DATETIME
。只需在
DATETIME
表单中插入时间,就不需要使用
TIMESTAMP

INSERT INTO support (sent_date) VALUES ('1960-05-18 03:20:20');

sent\u date='1960-05-18 03:20:00'
会很好的。别再乱搞unix时间戳了。它们什么都不需要,只是把事情弄得太复杂了。我已经修正了你的答案。@iProgrammer,我同意这一点,但解决办法是少关注数据库,多关注应用程序,我不知道您使用什么语言或什么应用程序类型,但如果您提供更多信息,我可能会有所帮助。如果您的“应用程序”在unix时间生成一个戳记,并且您无法更改该戳记(可能是购买的dll或数据导出),那么您可以始终使用unix时间戳记并将其转换为mysql datetime格式。实际上,我还没有遇到一种语言,您无法通过本机或使用一个小的自制函数(vbscript/asp)将时间戳转换为mysql datetime格式。修复你的应用程序,使用datetime数据类型列的db就可以了。(如果您想在插入时使用当前时间,请仅使用时间戳列)谢谢@redaa我解决了这个问题。我已将时间戳字段更改为整数,并像整数一样保存。为了获取日期,我使用了函数“from_unixtime”和所有很棒的函数。