草庐IT

DateTime2

全部标签

php - 在 SQL 中使用 PHP 将日期转换为 DATETIME

我有一个用PHP编写的论坛,它采用如下形式的日期dd/mm/yyyyhh:mm:ss。但是,我需要为SQL插入它作为DATETIME,格式为yyyy-mm-ddhh:mm:ss。我如何转换这些数据? 最佳答案 您的日期时间格式错误:dd/mm/yyyyhh:mm:ss。可能你的意思是d/m/YH:i:s如果您有5.3+版本,可以安全地将日期时间转换为另一种格式。这是一个例子:$timestamp='31/05/200112:22:56';$timestamp=DateTime::createFromFormat('d/m/YH:i:

php - 如何检查变量类型是否为 DateTime

请问如何在php上检查变量是否为datetime类型?我已经试过了,但它似乎不起作用。publicfunctionsetRegistrationDate($registrationDate){if(!is_date($registrationDate,"dd/mm/yyyyhh:mm:ss")){trigger_error('registrationDate!=DateTime',E_USER_WARNING);return;}$this->_registrationDate=$registrationDate;} 最佳答案 我觉得

php - 奇怪的 Datetime::setDate() 行为

我需要一些帮助来查找任何可能的服务器或php配置错误,因为我对DateTime的“setDate”方法有一个奇怪的行为:$datetime=newDateTime('2016-01-0123:59:59');$datetime->setDate(2016,2,28);print_r($datetime);/*DateTimeObject([date]=>2016-01-2823:59:59[timezone_type]=>3[timezone]=>Europe/Berlin)dateshouldactuallybefebruary!*/好吧,至少它是一致的,因为当我将日期设置为三月(3

php - DateTime ('first day of April' ) 返回与 DateTime ('first day of May' ) 相同

AprilantMay在php中返回相同的日期:var_dump(newDateTime('四月的第一天'));-'2016-05-0100:00:00'var_dump(newDateTime('五月的第一天'));-'2016-05-0100:00:00'在其他月份效果很好,但对于四月,它返回05而不是04。编辑:'timezone'=>'Europe/Paris'编辑2:http://imgur.com/TccRcMo 最佳答案 这是一个非常奇怪的行为,但我找到了一些解决方案来获得预期的结果。这不起作用的原因是DateTime

php - 如何使用 DateTime 对象设置时区?

我制作了一个代码,在服务器文件夹中打印日志,该日志还返回一个带小时的日期,但服务器不在我的国家,所以小时对我来说不正确。实际上这是我的代码:$now=newDateTime();$aggiornata="\r\n"."Aggiornamentoeseguitoconsuccessoper:".$value['caption']."DATA:".$now->format('d-m-YH:i:s');file_put_contents(getenv('OPENSHIFT_REPO_DIR').'php/log.txt',$aggiornata,FILE_APPEND);如何设置意大利的正确

php - date_format() 期望参数 1 为 DateTime,字符串给定

我正在尝试将我的查询替换为PDO查询,但我遇到了日期格式问题。我需要以d/m/YH:i:s格式打印日期,但在PDO脚本运行后,它以Y-m-dH:i:s格式打印日期while($row=$sql->fetch(PDO::FETCH_ASSOC)){...echo"".date_format($row['date'],'d/m/YH:i:s')."";"";...}Warning:date_format()expectsparameter1tobeDateTime,stringgivenin但如果我将代码更改为echo"".$row['date']."";"";然后它返回到Y-m-dH:i

php - 更改时区而不更改 DateTime 对象的值

场景如下-我将PHP中的默认时区设置为UTC。除了一个我使用的日期/时间外,其他所有日期/时间都设置为当前UTC时间;稍后显示时,我为该特定用户设置了时区,并且日期出现在他们的时区中。效果很好。除非我有一个用户可以在表单上输入的日期/时间。它以24小时制的“YYYY-MM-DDHH:MM”形式出现(例如:“2014-09-1817:00”)。用户自然会在他们的时区而不是UTC中设置这个时间。如果我使用输入值创建一个新的DateTime对象,它会以UTC格式保存,因此稍后显示时它会关闭几个小时(取决于原始时区)。如果我在新对象上设置时区,它会更改值,再次假设输入值是UTC。我进行了一些谷

PHP `DateTime::days` 返回垃圾?

PHP类DateInterval有一个属性“days”。根据手册,它返回“间隔跨越的总天数。如果这是未知的,天数将为假。”在我的例子中,代码:$d=newDateInterval('P1Y');echo$d->days;返回-99999和这样的代码$a=DateTime::createFromFormat("d.m.Y","01.01.2010");$b=DateTime::createFromFormat("d.m.Y","03.01.2010");$d=$b->diff($a);echo$d->days;返回6015我是不是误会了什么? 最佳答案

PHP DateTime 对象 - 时间戳和时区冲突

我有兴趣从DateTime对象获取不同时区的时间。如DateTime::setTimezone中所述doc,当从字符串创建DateTime对象时,这非常有效:$date=newDateTime('2000-01-01',newDateTimeZone('Pacific/Nauru'));echo$date->format('Y-m-dH:i:sP')."\n";$date->setTimezone(newDateTimeZone('Pacific/Chatham'));echo$date->format('Y-m-dH:i:sP')."\n";$date->setTimezone(ne

php - Doctrine 2 : Can't update DateTime column on SQL Server 2008apm

我在apache服务器上使用Doctrine2.2和php5.3。到目前为止,我偶然发现了以下问题:当我尝试更新日期时间列时,我得到:SQLSTATE[22007]:[Microsoft][SQLServerNativeClient10.0][SQLServer]从字符串转换日期和/或时间时转换失败。到目前为止,我什至已经进入专栏,然后使用它只添加了1天来设置新日期......相同的结果。当我改为将数据库和实体中的列从datetime更改为date时,它​​会按预期运行。我的主要问题是,有几个字段需要使用日期时间列。这是我的代码:(生日是我更改为日期的列......并且是少数几个对我来