【问题标题】:Best way to store custom timestamp [closed]存储自定义时间戳的最佳方式[关闭]
【发布时间】:2017-03-03 21:48:46
【问题描述】:

今天我遇到了一个问题,

我想创建一个输入字段,人们可以在其中选择一个日期并将该日期与时间戳类型一起放入我的 mysql 数据库中。我怎么能做这样的事情

我的数据库是这样的

【问题讨论】:

  • 您只是在问如何将数据插入数据库吗?你试过什么?
  • 我尝试了很多东西,但在某些方面我无法得到它,所以我制作了一个表单输入类型,您可以在其中选择日期并将给定日期插入数据库
  • 好吧,您能否提供一个您尝试过的示例并解释它在什么方面没有按预期工作?你做了什么调试,具体在哪里失败了?只是询问如何将数据插入数据库,通常会以“从教程开始并尝试”来回答。
  • 原来是这样,没用所以我删了
  • 首先,请向我们展示您为尝试完成此操作而编写的代码。其次,查看日期函数的 PHP 手册。 $today = date("Y-m-d H:i:s");

标签: php html mysql


【解决方案1】:

您需要以“Y-m-d H:i:s”这种格式存储它。

如果尚未采用上述格式,请使用 DateTime 类。

$userInput = "20/12/2016";
$date = DateTime::CreateFromFormat("d/m/Y", $userInput);

您现在将拥有一个日期时间对象。有了它,您可以使用

对其进行格式化
$date->format('Y-m-d H:i:s);

注意:我个人会使用 DateTime 字段而不是时间戳字段。

【讨论】:

    【解决方案2】:

    我不知道你到底想要什么。

    $date =  $_POST['date'];
    $timestamp = date('Y-m-d H:i:s', strtotime($date));  
    

    然后将$timestamp 插入到您的数据库中。

    【讨论】:

    • 这看起来不错,我的输入字段比看起来像 ?
    • 输入可以是任何输入类型、文本、日期等,但要使代码正常工作,它必须是 name="date" 才能填充 $_POST['date']
    【解决方案3】:

    当您在数据库中的日期列被标记为

    时,时间戳会自动插入

    CURRENT_TIMESTAMP

    只需传递一个空值。

    【讨论】:

    • 是的,但我想制作一个 html 表单,您可以在其中选择日期并将您选择的日期放入数据库中。
    • 那么你必须先改变你的数据库并删除那个标志。第二件事是正确格式化您的输入日期,然后将其传递给 mysql 查询。
    • 实际上,您不需要删除当前时间戳默认值。这仅在没有提供价值时使用,并且对于今天选择的人来说可能很方便。只需确保以 Peck3277 指出的正确格式插入日期
    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 2012-07-15
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多