首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将8位整数转换为dd/mm/yyyy

问将8位整数转换为dd/mm/yyyy
EN

Stack Overflow用户
提问于 2014-01-29 14:05:48
回答 3查看 3.4K关注 0票数 3

因此,我在我的PHP脚本中有一个函数,它应该将日期作为8位整数(如01042012 ),并将其转换为01/04/2012来显示。

目前,我正尝试按以下方式使用php的date()函数:

代码语言:javascript
复制
$int = 01042012;

$date = date("d/m/Y", $int);

它显示为$date,而不是具有01/04/2012值的13/01/1970。

这是因为date()希望我传递给它的日期是unix时间吗?如果是这样的话,会不会有一种更直接的方法来分割字符2和4之后的int,然后插入斜杠,然后重新组合它?就像explode()所做的那样,但我没有个性可言。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-29 14:12:04

一种简单的方法;

代码语言:javascript
复制
$int = 01042012;

$day = substr($int,0,2);
$month = substr($int,2,4);
$year = substr($int,4);

$date = $day.'/'.$month.'/'.$year;
票数 5
EN

Stack Overflow用户

发布于 2014-01-29 14:07:28

使用DateTime::createFromFormat()静态方法,返回按照指定格式格式化的新DateTime对象:

代码语言:javascript
复制
$dt = DateTime::createFromFormat('dmY', '01042012');
echo $dt->format('d/m/Y');
票数 15
EN

Stack Overflow用户

发布于 2014-01-29 14:10:43

基本上,从int值开始,int值为01042012实际上是1042012,因为前导零作为int没有任何意义。如果您以"01042012“作为字符串开始,您将更好地开始位置,以实现您想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21433419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档