【问题标题】:php strtotime() some helpphp strtotime() 一些帮助
【发布时间】:2010-05-13 10:56:15
【问题描述】:

我正在获取信用卡详细信息,并在两个表单字段中获取到期日期,一个用于到期月份,一个用于到期年份,我想将到期日期存储为时间戳。 strtotime("05/2010") 会创建一个时间戳,还是我也需要过去一天,还是有其他替代方法?

谢谢

【问题讨论】:

    标签: php timestamp strtotime unix-timestamp


    【解决方案1】:

    不,这不起作用,strtotime("05/2010") 将返回 false。您还需要指定一天。但是,在这种情况下存在歧义,strtotime("01/05/2010") 是指 2010 年 5 月 1 日还是 2010 年 1 月 5 日?等等

    您可能最好使用mktime() 而不是strtotime(),因为您可以明确说明哪些部分是月份和年份,然后只需传递 1 作为日期。

    $timestamp = mktime(0,0,0,$month,1,$year); // Where $month = 5, $year = 2010
    

    【讨论】:

      【解决方案2】:

      更好地使用 mktime(): mktime(0, 0, 0, $month, 1, $year)

      这将为给定年份中给定月份的第一天生成时间戳,时间为 00:00:00。

      【讨论】:

        【解决方案3】:

        如果您将“1”作为日期,您的编程将导致信用卡在该月的第一天到期。这不是标准做法,即让卡在每月的最后一天到期。可以使用 PHP date('t') 找到该月的最后一天。

        也许您可以看到这篇文章(希望如此)。它教授了您在 PHP 中处理 DATETIME 值所需了解的大部分内容。

        http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_201-Handling-date-and-time-in-PHP-and-MySQL.html

        最好的问候,~雷

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-13
          • 1970-01-01
          相关资源
          最近更新 更多