当前位置: 首页 > 面试题库 >

PHP日期格式/ Date(1365004652303-0500)/

沃侯林
2023-03-14
问题内容

我正在从获取日期的地方调用API
/Date(1365004652303-0500)/,但我不知道这是什么格式。该日期格式如何称呼?我不知道用什么格式的谷歌。

谁能帮我得到这个日期的Y-m-d H:i:s格式?

我正在调用的API在.NET服务器上。当我使用PHP调用它时file_get_contentsjson_decode它为创建的日期提供了以下日期格式:/Date(1365004652303-0500)/


问题答案:

首先,您需要了解自己的格式

/Date(1365004652303-0500)/

那你有

  • 时间戳(U)= 1365004652
  • 毫秒(u)= 303
  • 与格林威治时间(GMT)的差(O)= -0500

建立格式

$date = '/Date(1365004652303-0500)/';
preg_match('/(\d{10})(\d{3})([\+\-]\d{4})/', $date, $matches);
$dt = DateTime::createFromFormat("U.u.O",vsprintf('%2$s.%3$s.%4$s', $matches));
echo $dt->format('r');

输出量

Wed, 03 Apr 2013 15:57:32 -0500
                            ^
                            |= Can you see the GMT ?
interface DateFormatParser
{
    /**
     * @param $string
     *
     * @return DateTime
     */
    public function parse($string);

}

abstract class PregDateParser implements DateFormatParser
{
    protected $pattern, $format, $mask;

    public function parse($string) {
        $string = (string)$string;

        $pattern = $this->pattern;
        $format  = $this->format;
        $mask    = $this->mask;

        $r = preg_match($pattern, $string, $matches);
        if (!$r) {
            throw new UnexpectedValueException('Preg Regex Pattern failed.');
        }
        $buffer = vsprintf($mask, $matches);
        $result = DateTime::createFromFormat($format, $buffer);
        if (!$result) {
            throw new UnexpectedValueException(sprintf('Failed To Create from Format "%s" for "%s".', $format, $buffer));
        }
        return $result;
    }
}

class JsonTimestampWithOffsetParser extends PregDateParser
{
    protected $pattern = '/^\/Date\((\d{10})(\d{3})([+-]\d{4})\)\/$/';
    protected $format  = 'U.u.O';
    protected $mask    = '%2$s.%3$s.%4$s';
}

$date   = '/Date(1365004652303-0500)/';
$parser = new JsonTimestampWithOffsetParser;
$dt     = $parser->parse($date);

echo $dt->format('r');


 类似资料:
  • 相对moment来说十分轻量的实现。 使用 import { dateFormat } from 'vux' dateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss') 作为 filter 使用 import { dateFormat } from 'vux' export default { filters: { dateFormat } }

  • Locale可用于在SimpleDateFormat类中的模式上创建特定于语言环境的格式。 请参阅以下使用特定于语言环境的SimpleDateFormat类的示例。 IOTester.java import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.

  • 以下是在日期格式化模式中使用字符。 Sr.No. 类和描述 1 G 要显示时代。 2 y 显示年份。 有效值yy,yyyy。 3 M 显示月份。 有效值MM,MMM或MMMMM。 4 d 显示月份的日期。 有效值d,dd。 5 h 显示一天中的小时(上午1-12点/下午)。 有效值hh。 6 H 显示一天中的小时(0-23)。 有效值HH。 7 m 显示小时(0-59)。 有效值mm。 8 s 显

  • 本文向大家介绍PHP日期函数date格式化UNIX时间的方法,包括了PHP日期函数date格式化UNIX时间的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP日期函数date格式化UNIX时间的方法。分享给大家供大家参考。具体分析如下: 日期函数可以根据指定的格式将一个unix时间格式化成想要的文本输出 使用到函数语法如下 下面是演示代码 输出结果如下 希望本文所述对大家的php

  • 问题内容: 我正在使用jQuery datepicker datepicker的格式是这个 我在插入数据库时​​出错,仅插入0000-00-00 00 00 00 我的密码是 我确定我的插入内容正确无误。 问题答案: 如日期和时间文字中所述: MySQL可以识别以下格式的值: 作为或格式的字符串。允许使用“宽松”语法:任何标点符号都可以用作日期部分之间的分隔符。例如,,,,和是相等的。 * 作为没

  • 问题内容: 我有一个输出数据数组的PHP脚本。然后将其转换为使用函数。 我的问题是我的数组中有一个日期,但日期格式不正确。 我怎样才能在PHP中转换它呢? 代替上面的日期,我需要等效的JavaScript函数 新的Date() 当我输出上述内容时,我得到以下内容:“ Fri Jun 01 2012 11:08:48 GMT + 0100(GMT Daylight Time)”但是,如果我将PHP日