php时间戳转换(腾讯云对象存储时间格式处理 'Fri, 10 May 2019 07:48:10 GMT' )

今天要处理存储在腾讯云对象存储的文件,需要先获取文件时间,比较之后再决定要不要进行 处理,结果调用腾讯云的接口,发现返回的文件信息的时间信息,是这种’Fri, 10 May 2019 07:48:10 GMT’,这。。。根本比较不了大小啊。

一开始我很疑惑,存这种格式干什么,那么难用,后来意识到,是为了不同时区的人都可以用这一种格式使用。GMT表示‘格林威治时间’,简单地说,用这个时间,不同时区的用户,可以根据这个时间,算出来自己时区的时间。

所以自己写方法处理这种字符串的GMT时间,要注意转换成方便处理的时间格式之后,还要加上自己时区的时差,我一开始就忽略了这一点。(中国大多数地方用的时区,应该都是比GMT时间多八个小时)

1、'Fri, 10 May 2019 07:48:10 GMT’的处理

我需要获取文件的上次修改时间的时间戳形式来与我需要的时间进行比较,我用的办法就是通过空格截取各个有含义的字符串,再拼接成strtotime() 可以转换的格式。

附上转换方法和常量数组的部分:

const MONTH_STRING_TO_NUMBER = [
        'Jan' => '01',
        'Feb' => '02',
        'Mar' => '03',
        'Apr' => '04',
        'May' => '05',
        'Jun' => '06',
        'Jul' => '07',
        'Aug' => '08',
        'Sep' => '09',
        'Oct' => '10',
        'Nov' => '11',
        'Dec' => '12',
    ];
//$LastModified = 'Fri, 10 May 2019 07:48:10 GMT'

private function getLocalUnixTime($LastModified) {

        $cos_time_array = explode(' ', $LastModified);

		//得到正常可以转换时间戳的时间   '2019-05-10 07:48:10'
        $data_time = $cos_time_array[3] . '-' . self::MONTH_STRING_TO_NUMBER[$cos_time_array[2]] .
            '-' . $cos_time_array[1] . ' ' . $cos_time_array[4];

		//转换时间戳 再加上时差 8小时
        $time_unix = strtotime($data_time) + 8 * 3600;

        return $time_unix;
    }

2、php时间戳转换

//'2019-05-10 07:48:10' 转时间戳
$time_unix = strtotime($data_time);
//时间戳转时间
$time_string = date('Y-m-d h:i:s', $time_unix);  
//'2019-05-10 07:48:10'

data()方法的第一个参数,有很多可选的,参考菜鸟教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值