【问题标题】:string SQL Server date with milliseconds in PHP在 PHP 中以毫秒为单位的字符串 SQL Server 日期
【发布时间】:2016-01-27 23:55:44
【问题描述】:

我有一个像这样的字符串 "oct 27 2015 11:11:22:933" 来自 MSSQL DB,我想在 PHP 日期时间中进行转换。如果我做 $date = new DateTime("oct 27 2015 11:11:22:933");我收到以下错误:

无法解析位置 20 的时间字符串 (oct 27 2015 02:24:24:967) (:): 意外字符'

【问题讨论】:

  • 使用DateTime::createFromFormat() 并指定格式以包含毫秒
  • 你能不能只改变服务器上运行的查询,这样它就不会首先恢复毫秒?如果您只是将它们扔到 PHP 中,那么从数据库中检索它们是没有意义的......

标签: php sql-server datetime


【解决方案1】:

你可以试试

date('H:i:s:u', $date);  

注意 H 是小时,s 是秒,i 是分钟,u 是微秒。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    根据此处提供的答案: https://stackoverflow.com/a/12039058/2160958

    根据这个documentation,你需要做的就是在前面加上 带有@字符的时间戳:

    $timestamp = strtotime('oct 27 2015 11:11:22:933');
    $dt = new DateTime('@' . $timestamp);
    

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      相关资源
      最近更新 更多