草庐IT

datetime_format

全部标签

php - 如何在 Doctrine2 SELECT 查询中处理 DateTime 类型的默认值?

我有以下Doctrine2实体:如你所见,我正在使用GedmoTimestampable与Trait由bundle提供。一切正常。当我获取数据并且updated_at列为NULL0000-00-0000时,问题发生了:00:00。对于这种情况,DateTime对象被转换为一个无效日期,如下所示:‌array('RowId'=>26944,'synchflag'=>1,'updatedAt'=>DateTime::__set_state(array('date'=>'-0001-11-3000:00:00.000000','timezone_type'=>3,'timezone'=>'U

PHP 比较格式为 2011-05-16T09 :39:14+0000 (facebook datetime format) 的两个日期

在PHP中,我想以这种格式比较2个日期:2011-05-16T09:39:14+0000$datedeb="2011-05-18T01:25:18+0000";$datefin="2011-05-16T09:39:14+0000";我有PHP5.1.6供您引用。 最佳答案 您可以使用PHP的strtotime功能。这会将它们转换为时间戳,这意味着您可以像普通数字一样比较它们$datedeb=strtotime("2011-05-18T01:25:18+0000");$datefin=strtotime("2011-05-16T09:

PHP 错误的 DateTime::diff() 返回错误的 DateInterval

我有两个日期时间相差的问题。这是显示DateInterval对象的命令行:php-r"\$a=newDatetime('firstdayof4monthsagomidnight');\$b=newDatetime('firstdayof1monthagomidnight');var_dump(\$a->diff(\$b));"这里是DateInterval输出:classDateInterval#3(15){public$y=>int(0)public$m=>int(3)public$d=>int(3)public$h=>int(0)public$i=>int(0)public$s=>

php - 处理 PHP DateTime 中格式正确但无效的日期

我正在尝试使用PHP的DateTime来验证日期,但DateTime会接受一些格式正确但无效的日期,例如2015-02-30,它将变成March2,2015,没有抛出异常。使用DateTime或其他方法处理此问题有什么建议吗?编辑:谢谢大家的帮助!我是通过捕获异常来处理错误的,但我没有意识到异常只是在错误时抛出,而不是警告,而且这种输入只会引发警告。 最佳答案 使用DateTime::getLastErrors()检查错误。格式正确但无效的日期:$date='2015-02-30';DateTime::createFromForma

php - 匹配 HH :MM:SS time format in php? 的正则表达式

这个问题在这里已经有了答案:RegexpatternforHH:MM:SStimestring(2个答案)关闭9年前。HH:MM:SS的正则表达式是什么HH是hours,但不限于日期或时钟,它可以是从0到任何整数的任何数字MM是分钟,最大值是59,从00开始SS是Seconds最大值是59并且从00开始

php - 如何在 HH :MM format 中的 php 中添加多个小时

我有以下数组。Array([0]=>25:50[1]=>21:00[2]=>42:40)我正在尝试在php中添加小时数,我尝试了以下代码。但它让我错误的时间计算。$time_cal=0;foreach($timeas$time_cal){$time_cal+=strtotime($time_cal);}echodate('H:i',strtotime($time_cal));这个strtotime函数背后的原因是只给出24小时的时间计算,这是正确的,但是当我尝试24小时以上的时间,比如25:55、44:44时,我的计算是错误的。有什么想法吗? 最佳答案

php - sonata_type_datetime_picker 初始日期

现在,当日期输入为空时,我将触发日期选择器,它会给我当前的日期时间。我想更改此配置以获取当前日期,但时间为00:00:00。我不知道如何得到这个。有什么想法吗?我知道我在创建日期选择器时有这个选项:"action","attr","auto_initialize","block_name","by_reference","cascade_validation","compound","constraints","csrf_field_name","csrf_message","csrf_protection","csrf_provider","data","data_class","d

php - 无法从 PHP 中的 DateTime 获取上个月 - 这是一个(相当大的)错误吗?

我需要在PHP中创建函数,让我可以在给定的日期时间单位上调/下调。具体来说,我需要能够从当前月份转到下一个月/上一个月。我想我可以使用DateTime::add/sub(P1M)来做到这一点。但是,当尝试获取上个月时,如果日期值=31,它就会出错-看起来它实际上是在倒数30天而不是递减月份值!:$prevMonth=newDateTime('2010-12-31');尝试减少月份:$prevMonth->sub(newDateInterval('P1M'));//='2010-12-01'$prevMonth->add(DateInterval::createFromDateStrin

php - 删除 PHP money_format() 输出中美元符号后的空格

我用money_format('%(#15.2n',$money)输出类似$500.00有没有办法去掉美元符号和500之间的空格? 最佳答案 money_format[docs]甚至可能无法在某些平台上运行。使用number_format[docs会更可靠]:echo'$'.number_format($money,2);//'$12.44'如果您希望它填充到一定数量的空格,但在数字之前紧跟美元符号,您还可以使用sprintf[docs]:echoprintf("%15s",'$'.number_format($money,2));

PHP DateTime::diff 问题与 DateTime::format

当我尝试使用正常的PHP代码(d、Y、m等)为日期和时间格式化我的日期差异时,它只输出字母,而不是值。这仅在我格式化DateTime::diff时才会发生。它适用于简单的DateTime对象。这个:$date1=newDateTime('2000-01-01');$date2=newDateTime('now');$date=$date2->diff($date1);echo$date->format('ddaysago');“d天前”的输出。我知道如果我用%a替换d,它会输出这是多少天前的信息。我想知道还有哪些字符可以输出秒、分甚至年。提前致谢! 最佳答案