【问题标题】:Saving to MySQL TIME and DATE data types through PHP [closed]通过 PHP 保存到 MySQL TIME 和 DATE 数据类型 [关闭]
【发布时间】:2013-11-15 23:45:56
【问题描述】:

我需要在 MySQL 数据库表中存储 DATE 类型的日期和 TIME 类型的时间。我发现了许多方法,例如格式化和从 unix 时间转换等,但是在使用 PHP 时,最直接、最简单的方法是在 MySQL 中创建数据以存储为 DATE 和 TIME 类型。

【问题讨论】:

  • 你找到了多少种方法?您认为什么是直截了当/简单的(听起来像是基于意见的问题?),为什么不选择您找到的方法之一?
  • 顺便说一句,我喜欢这个问题,谷歌也喜欢。但是,我建议其他人查看 here 以获得很好的答案

标签: php mysql date time type-conversion


【解决方案1】:

这取决于您在 PHP 中使用的日期/时间类型。
如果您有时间戳,例如$timestamp,然后

$mySqlDate = date('Y-m-d', $timestamp);
$mySqlTime = date('H:i:s', $timestamp);

如果你有一个 DateTime 对象$datetime

$mySqlDate = $datetime->format('Y-m-d');
$mySqlTime = $datetime->format('H:i:s');

【讨论】:

  • 我正在使用 php 函数 time() 生成时间,我必须生成和存储它的值,而不是以任何格式传递的值。如果我在 php 中使用 time() 生成日期时间,如何应用它?非常感谢。
  • 非常感谢,答案一直都在这里 :)
【解决方案2】:

最简单的方法是使用date/datetime data type

然后使用YYYY-MM-DD 格式的日期或YYYY-MM-DD HH:MM:SS 格式的日期时间将数据插入其中。

这也让你可以很容易地使用可爱的 MySQL 时间函数,比如将当前时间插入到日期时间字段中,你可以使用:

insert into yourTable (DateTimeColumn) values (now());

使用 PHP,您可以很容易地从字符串、日期对象和几乎任何东西中创建所需的格式。

【讨论】:

  • 这是为了维护活动日志表。我需要在任何日期按日期或特定持续时间查询活动,这就是为什么我在 MySQL 中使用具有 DATE 和 TIME 类型的单独日期和时间列。谢谢
  • 还是我以一种糟糕的低效方式做整个事情?
  • 这真的取决于你的实际要求。对于大多数人来说,我会对日期时间感到满意,但也有一个可用的 TIME 数据类型,您可以很容易地将其仅用于时间信息。
  • 谢谢,现在我使用 time() 获取时间详细信息,如果这是获取日期和时间的方法,我想将其转换为 mysql 中的 DATE 和 TIME 类型。我怎样才能做到这一点?
猜你喜欢
  • 2017-12-18
  • 2018-04-04
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多