草庐IT

Primitives-DateTime

全部标签

php - 无法理解 PHP 中 DateTime 类的行为

我在Kubuntu14.04和PHP5.6.23中使用LAMP。使用DateTime时在以下情况下:1.print_r((newDateTime('2016-02-31'))->format('M/d/Y'));//Mar/02/2016(noerrors,why?)2.print_r((newDateTime('2016-02-32'))->format('M/d/Y'));//Error-DateTime::__construct():Failedtoparsetimestring-//(2016-02-32)atposition9(2):Unexpectedcharacter为什

PHP DateTime::createFromFormat 行为

今天,\DateTime::createFromFormat函数的行为让我感到困惑。在我的例子中,我有一个字符串,代表以下格式的日期m/Y(05/2017)。当我想将字符串转换为DateTime对象时,我遇到了以下问题:$date=\DateTime::createFromFormat('m/Y','02/2017');当我转储$date变量时,里面的日期属性是'2017-03-0311:06:36.000000'但是如果我在月份之前添加日期$date=\DateTime::createFromFormat('d/m/Y','01/02/2017');我会得到一个对象具有正确的日期属性

php - PHP DateTime::RFC3339_EXTENDED 损坏了吗?

我似乎无法让DateTime::createFromFormat()在PHP7.0.26中工作我的代码date_default_timezone_set('America/New_York');$t='2018-02-23T11:29:16.434Z';echo'$t:'.json_encode($t).PHP_EOL;$f=DateTime::RFC3339_EXTENDED;echo'$f:'.json_encode($f).PHP_EOL;echo'createFromFormat:'.json_encode(DateTime::createFromFormat($f,$t)).

php - Doctrine 修改后的 DateTime 不会持久化

这个问题在这里已经有了答案:Doctrine2ORMdoesnotsavechangestoaDateTimefield(3个答案)关闭5年前。我尝试用modify函数修改对象的DateTime字段$em=$this->getDoctrine()->getManager();$end=$session->getEndDate();$session->setEndDate($end->modify('+10seconds'));$em->persist($session);$em->flush();这是Session类中$endDate字段的setter:/***@param\DateT

php - 碳 : diff two datetime objects by dates only

假设我有以下代码:$now=Carbon::now();$dateTimeObject=Carbon::parse('2017-07-2010:16:34');如何在忽略时间因素的情况下获取仅之间的差异?因此,如果$now是2017-07-2709:11:12,并且$dateTimeObject中的日期是2017-07-20--差异将是7。我需要它来确保特定操作的结果每天只在数据库中存储一次。注意:我尝试了diffInDays()方法,但如果值为例如,它返回02016-10-1223:56:43和2016-10-1302:01:53-所以,接近午夜和晚上。

php - Eclipse PDT : "<class> cannot be resolved to a type" for default php classes like DateTime, 异常等

在最近的一些Eclipse更新和工作区更改之后,我发现在PDT中验证我的PHP代码时存在一些问题。在为我的项目重新添加所有外部库后,每个外部类都是可解析的,但对于“DateTime”或“Exception”等PHP基类,我收到错误/注释“DateTime无法解析为类型”。PHP验证版本设置为7.1,但更低的设置会产生错误。我该如何解决这个验证问题? 最佳答案 这里有很多种可能的情况;我的是一个相当老的项目,构建路径配置有问题。但是使用GUI我无法修复它。在eclipse关闭时将以下行添加到项目文件夹中的.buildpath文件,然后

php - YII : How to Change datetime format displayed on the View

Yii中的一个新手问题:我在Yii中有一个包含日期时间字段的表模型。我正在使用CActiveForm来显示这个字段:labelEx($model,'createdon');?>textField($model,'createdon',array('id'=>'createdon'));?>error($model,'createdon');?>但显示的文本字段是来自MySQL的日期时间格式,即yyyy-mm-ddhh:mm:ss如何将文本字段上显示的格式更改为不同的时间格式?(可能是dd/mm/yy或mm/dd/yy或其他)如有任何帮助,我们将不胜感激。谢谢!

php - "DateTime->modify(' +0 天 ')"修改 DateTime 对象

谁能详细说明为什么以下DateTime->modify()代码会产生那些奇怪的矛盾结果,具体取决于PHP版本(这是一个错误吗?在哪个PHP版本中?)。我希望所有示例都产生相同的创建对象的日期和时间,但事实显然并非如此。唯一似乎有效的示例是中间的示例,其中DateTime对象是根据UNIX时间戳创建的,并且时区是在之后设置的(它不能在构建时设置,因为将被忽略)。PHP5.4.4和5.4.6:FROMTIMESTAMP,NOTZ:2012-08-2122:00:00GMT+0000(offset0)PHP5.2.0:FROMTIMESTAMP,NOTZ:2012-08-2122:00:00

php - DateTime 的儒略日

有没有比这样更好的将DateTime对象转换为儒略日数的方法:$jd=GregorianToJD($dt->format('n'),$dt->format('j'),$dt->format('Y'));我有点惊讶,既没有直接执行此操作的函数,也没有用于打印它的格式说明符。我是否遗漏了一些明显的东西?编辑:下面的许多(有点讽刺的)回复似乎都假设儒略日数字与早已过时的儒略历有某种关联。它不是。Juliandaynumber是从相当任意的纪元开始计算天数的最常见方法之一。它的主要用途是在天文学中,它是识别日期的标准方法。 最佳答案 这应该

php - 使用 PHP DateTime 解析和转换时区 PST 到 PDT(GMT -8 到 GMT -7)

我在使用PHPDateTime将GMT-8时区(PST)接收的日期转换为GMT-7(PDT)时区的人类可读格式时遇到困难。这是一个例子:$tz=newDateTimeZone('America/Los_Angeles');$saleEndDate=newDateTime("2016-11-07T17:30:00-08:00");$saleEndDate->setTimezone($tz);echo$saleEndDate->format('Y-m-dH:i:s');以上代码的输出为:2016-11-0717:30:00。但是,它应该显示2016-11-0718:30:00,因为Amer