Php 为一天的开始和结束创建日期时间字符串
如果我有以下字符串:Php 为一天的开始和结束创建日期时间字符串,php,Php,如果我有以下字符串: "2013-10-28" 当我使用以下函数转换为DateTime时: new \DateTime("2013-10-28"); 它总是给我一个未设置时间的DateTime 我想要两个日期时间: 一个标志着一天的开始,意思是在00:00:00 另一个DateTime在同一日期,但在一天结束时23:59:59 鉴于上面的字符串,我该如何执行此操作?查看所有可能的操作 MySQL格式对于您的用例来说应该是最简单的: new \DateTime("2013-10-28 00
"2013-10-28"
当我使用以下函数转换为DateTime
时:
new \DateTime("2013-10-28");
它总是给我一个未设置时间的DateTime
我想要两个日期时间:
- 一个标志着一天的开始,意思是在00:00:00
- 另一个
在同一日期,但在一天结束时23:59:59DateTime
鉴于上面的字符串,我该如何执行此操作?查看所有可能的操作 MySQL格式对于您的用例来说应该是最简单的:
new \DateTime("2013-10-28 00:00:00");
new \DateTime("2013-10-28 23:59:59");
您可以尝试以下方法:
public static Date getDayStartTimeOfTheDate(Date date){
try {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.set(Calendar.AM_PM, 0);
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
return parseDate(format(c.getTime()));
} catch (ParseException e) {
}
}
对于结束时间,您可以基于上述逻辑编写方法。使用
您只需将
00:00:00
/23:59:59
附加到日期,然后使用这些值创建日期时间对象…?新的日期时间(“2013-10-28”)代码>对我有效,时间已经确定。我给出了java方法。顺其自然,Java用户也可以。糟糕的Java用户在这个答案上绊倒的机会微乎其微,因为问题或标签中没有任何东西指向Java。哈哈,我也不能删除这个答案,以防stackoverflow:(
$d = new \DateTime("2013-10-28");
$d->setTime(23, 59, 59);