php dd(),php – URL中的日期dd / mm / yyyy

使用strotime()时,您需要确保使用的是valid datetime format.否则strtotime()将返回false或给您一个意外的值.

使用XX / XX / XXXX格式的日期假定为美国格式,这意味着前两位数字代表月份,后两位数字代表月份日期,后四位数字代表年份.使用破折号时,假定日期采用欧洲格式.例如:

04/18/2017 = April 18, 2017

12/18/2017 = December 18, 2017

18-04-2017 = April 18, 2017

18-12-2017 = December 18, 2017

如果您不小心切换了日期和月份,则strtotime()将返回false,因为日期无效.

18/04/2017 // error

18/12/2017 // error

04-18-2018 // error

12-18-2017 // error

上面的例子很简单.但是,当日期可能不明确时,您可能会遇到问题.例如:

04/12/2017 = April 12, 2017

12/04/2017 = December 4, 2017

04-12-2017 = December 4, 2017

12-04-2017 = April 12, 2017

在上面的示例中,通过切换日期和月份,我们仍然会获得有效日期,这可能会导致应用程序出现意外结果.要解决这些潜在问题,建议使用DateTime::createFromFormat()解析日期广告,返回DateTime()对象,您可以从get a Unix Timestamp,convert the date into another format,或使用它来与其他DateTime对象进行比较.

// Parse US date format

$date1 = DateTime::createFromFormat('m/d/Y', '04/18/2017');

// Get Unix timestamp of 1493581268

$timestamp = $date1->getTimestamp();

// Parse European date format

$date2 = DateTime::createFromFormat('d-m-Y', ''18-04-2017);

// Get MySQL format (ISO-8601) of 2017-04-18

$mysqlDate = $date2->format('Y-m-d');

也可以看看:

对于您的具体情况,以下代码将起作用:

$date = $date1 = DateTime::createFromFormat('m/d/Y', '20/02/2000');

$D->query = $date->format('Y-m-d'); // 2000-02-20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值