如果我有以下字符串:
"2013-10-28"
当我使用以下函数转换为DateTime
时:
new \DateTime("2013-10-28");
它总是给我DateTime
时没有设置。
我想要两个 DateTime:
DateTime
,它位于同一天,但在一天结束时 23:59:59 。如果给出上面的字符串,我该怎么做?
答案 0 :(得分:14)
$d = new \DateTime("2013-10-28");
$d->setTime(23, 59, 59);
答案 1 :(得分:8)
查看所有可能的compound formats。
对于您的用例,MySQL格式应该是最简单的:
new \DateTime("2013-10-28 00:00:00");
new \DateTime("2013-10-28 23:59:59");
答案 2 :(得分:-1)
你可以试试这个:
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) {
}
}
在结束时间你可以根据上述逻辑编写方法。