如果我有以下字符串:
"2013-10-28"
DateTime
当我使用以下函数转换为 a 时:
new \DateTime("2013-10-28");
它总是给我一个DateTime
未设置的时间。
我想要两个DateTime :
- 一个标志着一天的开始,意思是在00:00:00
- 另一个
DateTime
在同一日期但在一天结束时23:59:59。
给定上面的字符串,我该怎么做?
如果我有以下字符串:
"2013-10-28"
DateTime
当我使用以下函数转换为 a 时:
new \DateTime("2013-10-28");
它总是给我一个DateTime
未设置的时间。
我想要两个DateTime :
DateTime
在同一日期但在一天结束时23:59:59。给定上面的字符串,我该怎么做?
$d = new \DateTime("2013-10-28");
$d->setTime(23, 59, 59);
查看所有可能的复合格式。
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) {
}
}
对于结束时间,您可以根据上述逻辑编写方法。