当前位置: 首页 > 知识库问答 >
问题:

在数据库中找不到DateTime时区

公冶翰池
2023-03-14

其他人有这个奇怪的问题吗?错误消息:

致命错误:未捕获异常“exception”,消息为“DateTime::\uuu construct():无法分析位置17(A)处的时间字符串(2016年1月18日美国/纽约凌晨00:00):在数据库中找不到时区

异常:DateTime::_构造():未能分析位置17(A)处的时间字符串(2016年1月18日美国/纽约凌晨00:00):在数据库中找不到时区

原始PHP代码:

$datetime = new DateTime(trim(html_entity_decode($this->input->post('publish_date').' '.$_POST['schedule_time'].' '.$_POST['schedule_meridian'] . ' ' .$_POST['schedule_timezone'])));
$date = $datetime->format('D, d M Y H:i:s O');

共有1个答案

郝哲茂
2023-03-14

恐怕您已经创建了如下DateTime对象:

$date = new DateTime('01/18/2016 00:00 AM America/New_York');

这不是受支持/有效的日期时间格式!

如果你想从另一种格式创建一个DateTime对象,你必须调用DateTime::createFromFormat(),看:

$timezone = new DateTimeZone('America/New_York');
$strdate  = '01/18/2016 00:00 AM';
$date     = DateTime::createFromFormat('m/d/Y H:i A', $strdate, $timezone);

PHP文件指出:

DateTime::createFromFormat/date_create_from_format-返回根据指定格式格式化的新DateTime对象

 类似资料:
  • 现在,如果这个日期被转换到任何其他时区..假设GMT+5:30,我会得到意想不到的结果 若要修复上述问题...我编写了以下代码 使用上面的代码..我可以在UTC时区获得数据库存储日期,但当我使用以下逻辑转换到其他时区(例如GMT+5:30)时 ps:我希望输出是java.util.date/Calendar的形式,因为我需要在这个日期再做一次转换 请帮我解决这个问题

  • 我使用CAS和Spnego支持,KDC是192.168.1.244,我的领域是示例。COM我测试了我的本地Windows域环境,我可以从示例中获得票证。com我用“kinit”命令测试它,但在CAS spnego环境中,在Kerberos数据库中找不到异常客户端,我已经在C:\windows\krb5.ini中创建了它,内容如下 krb5.ini 异常报告如下: 但为什么在kerberos数据库中

  • 我读到的几乎所有答案都说我的数据库名或pw是错的,但我100%确定不是。以下是http错误描述:javax . servlet . servlet异常:javax . servlet . JSP . JSP异常:无法获取连接,数据源无效:“java.sql.SQLException:拒绝用户' root'@'localhost '(使用密码:YES)的访问” 如果有人能帮助我,我会很棒。仍然是编程

  • 我对冬眠很陌生,所以我的问题对你来说很明显。我在H2控制台用3个表(data.mv.db)创建了数据库,插入一些值,然后将其复制到项目路径中的数据库文件夹中。现在我试图阅读其中一个测试,但总是有错误,即表不存在。我试着给连接url添加一些属性,比如连接延迟或者不把字母改成大写,但仍然是一样的。 错误: 我试过编辑配置。所以我补充: 并使数据库为空。奇怪的是,在H2控制台打开后,Java创建的数据库

  • 我在W12服务器上运行了以下命令:- setspn-A HTTP/krbspn ktpass/princ HTTP/@/crypto ALL/ptype krb5\u nt\u principal/mapuser krbspn c:\ticket\krbspn。按键-kvno 0/pass Pa$$w0rd kinit-krbspn给出了正确的结果,但kinit-HTTP/返回:- KrbExce

  • 问题内容: 我通过使用将JodaTime 字段存储到列中。应用服务器的时区为+4。数据库服务器+9时区。会导致+9是时区(正确值为)。 我还没有找到任何相关主题。正确存储。 域对象具有以下映射属性: 如何正确存储DateTime? 问题答案: 好。我已经花了8个小时来解决问题。如果您使用用户类型项目来保留JodaTime,则必须将class 属性设置为等于当前应用程序服务器时区(不是数据库!)。