PHP在Windows环境下获取GMT时间
在调用讯飞语音合成(流式版)接口时,它要求传入date参数为GMT时间,类似这样“Thu, 01 Aug 2019 01:53:21 GMT”。
使用它默认的demo测试时,发现一直提示401 Unauthorized错误,官方论坛说明是认证签名错误。
官方提供的PHP版demo中,其中获取GMT时间是这样的:
$date = gmstrftime("%a, %d %b %Y %T %Z", time());
一步步的检查发现签名串中的date是空值,但看上去代码并没有错误,单独测试这个gmstrftime函数,返回false,让其它小伙伴测试,也能正常返回时间戳,很是费解。
再经过无数次测试后,发现在加入%T参数时,函数会返回false。重新查看手册,其中有说明此函数与strftime函数行为类似,只是返回了GMT时间,所以再次去查strftime的相关说明:
可能不是所有的转换标记都被 C 库文件支持,这种情况下 PHP 的 strftime() 也不支持。此外,不是所有的平台都支持负的时间戳,因此日期的范围可能限定在不早于 Unix 纪元。这意味着例如 %e, %T,%R 和 %D(可能更多)以及早于 Jan 1, 1970 的时间在 Windows,一些 Linux 发行版本,以及其它几个操作系统中无效。
明白了,原来Windows下并不支持%T参数,所以删除%T后手动拼接字符串,或像我改用了gmdate函数:
$date = gmdate("D, d M Y H:i:s")." GMT";
即可解决。
PHP在Windows环境下获取GMT时间相关推荐
- C++在linux环境下获取毫秒、微妙级别时间
C++在linux环境下获取毫秒.微妙级别时间 一.时间单位简介: 1秒 = 1000毫秒 1秒 = 1000000微秒 1秒 = 100 ...
- Android 源码获取-----在Windows环境下通过Git得到Android源代码
在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过 ...
- java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...
进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...
- Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
1. 背景 在Windows(从XP到Win7)中删除文件时,无论是Delete或者是Shift+Delete,都不能真正的删除文件,它做的事情只是从文件分配表中删除了该文件的信息,而并未将文件从存储 ...
- 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
http://blog.csdn.net/whuancai/article/details/11994341 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通 ...
- Windows环境下通过lynx查看隐藏链接识别黑链方法
最近看了好多关于lynx相关的文章,通俗一点lynx就是个文本浏览器,一个和搜索引擎爬虫有点类似的工具,通过这个工具可以非常方便的实现一些辅助SEO的效果,今天小编主要分享一下在windows环境下如 ...
- Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)
Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(畅销10年,经典再现!) 罗云彬 著 ISBN 978-7-121-20759-4 2013年7月出版 定价:99.00元 75 ...
- windows环境下安装RabbitMQ(超详细)
windows环境下安装RabbitMQ(超详细) 记录RabbitMQ安装过程,欢迎大家和我交流.(安装过程中遇到的问题也有总结哈,请查看) RabbitMq简介 安装准备工具 安装步骤(图文) 安 ...
- 琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记
琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记 2011年12月20日 基础篇 第1章 背景知识 1 1.1 Win32的软硬件平台 1.1.1 80x86系列处理器简史 1.1 ...
最新文章
- django+mysql 配置一系列问题
- 2014编程之美热身赛 - 传话游戏
- 开放下载!《阿里云实时数仓Hologres最佳实践合集》
- svn 合并和树冲突
- 基于JAVA+SpringMVC+Mybatis+MYSQL的个人记账管理系统
- 数据埋点与设备指纹/设备反欺诈的区别与联系是什么?
- Oracle 11g ora 15018,OracleASM错误之--ORA-15031、ORA-15014
- 如何在没有电脑的情#况下用安卓手机制作windows pe启动盘
- 李子奈《计量经济学》第四版笔记和课后答案
- 数据结构Status
- 4152: [AMPPZ2014]The Captain
- 【持续更新】Pun多人在线游戏开发教程
- 【苹果相册推送位置推送iMessage】软件安装TestFlight计划的信息
- Flink 累加器Accumulator
- 浏览器提示代理服务器出现问题,或则地址有误
- golang-内存管理-GC回收
- U 需要知道的反射知识 -- 大白话
- python3.6实现Softmax Regression测试训练模型(可视化)机器学习算法(赵志勇)学习笔记
- h5怎么获取微信用户openId,h5如何获取微信用户openId
- nodejs MVC框架:Adonisjs框架入门-001概述
热门文章
- c #include如何找到文件_如何用C编写自己的头文件?
- 3d饼图 vue_在Vue中如何使用highCharts绘制3d饼图
- Python学习:numpy的使用技巧和注意
- CLR查找和加载程序集的方式(二) 流程图
- Java基础知识强化26:Object类之hashCode()方法、getClass()方法
- 使用Ajax的Time实现倒计时功能
- Sizzle系列之 选择元素
- WindowsPhone 7.8 Tiles 1 : WideTile
- 6条策略提高mysql查询速度 潇湘博客
- 8.7 使用索引-notes