Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为一天的开始和结束创建日期时间字符串_Php - Fatal编程技术网

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
  • 另一个
    DateTime
    在同一日期,但在一天结束时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) {

    }
}
对于结束时间,您可以基于上述逻辑编写方法。

使用


您只需将
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);