PHP使用函数gmstrftime、gmdate输出英文时间日期的安全方法(RFC 1123格式)

分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/8/6

最近项目中要为一个rest服务写客户端,其中的签名校验需要在HTTP Header中生成一个RFC 1123格式的Date。

这个问题比较好解决,简单翻阅了PHP文档,使用gmstrftime这个函数就能解决。

代码如下:string gmstrftime ( string $format [, int $timestamp = time() ] )

调用的代码如下:

代码如下:echo gmstrftime("%a, %d %b %Y %T %Z",time());

//输出:Tue, 01 Apr 2014 16:16:07 GMT

调试过程中发现,在另外一台电脑上,输出并不像预期中的结果,然后产生了中文:

代码如下:

二, 01  4 2014 16:20:02 GMT

继续翻阅文档,发现文档的注释中有说明,这个函数的结果受setlocale结果的影响,既收当前系统默认的语言的影响。使用下面的命令可以查看当前系统已安装的语言:

代码如下:

locale -a

那么根据刚刚分析的结果,将setlocale强制指定为英语就没问题了,代码如下:

代码如下:setlocale(LC_TIME, 'en_US');

echo gmstrftime("%a, %d %b %Y %T %Z",time());

至此文章应该已经结束了,不过可惜的是测试用的Ubuntu机器上,因为是Live CD版,恰好没有en_US这个语言,但是有一个en_US.UTF-8。这个时候心理打鼓,这种做法似乎不太安全,我没办法确定运行代码的客户机上,到底有en_US还是有en_US.UTF-8。还好看到文档里的一段comments,可以用gmdate来代替,该函数不受setlocale结果的影响:

代码如下:gmdate('D, d M Y H:i:s') . ' GMT';

Case closed~需求虽小,要写好并不容易,以后还要多加努力。

php输出英文时间日期格式,PHP使用函数gmstrftime、gmdate输出英文时间日期的安全方法(RFC 1123格式)...相关推荐

  1. php日期相减函数,倒计时函数_计算两个时间相差值_PHP函数

    **PHP倒计时函数.求两个日期时间之间相差的时间函数.计算时差函数_PHP函数笔记** ```php /** * 求两个日期时间之间相差的时间 * (针对1970年1月1日之后,求之前可以采用泰勒公 ...

  2. hibernate mysql 时间比较_Hibernate中HQL函数汇总及获取当前时间进行比较举例

    在很多时候,我们负责的项目中,在数据访问层(DAO层)通常我们会使用sql语句或者hql语句,而在我们使用hql语句拼接时有时会报错,通常的原因是:我们使用了标准的sql语句,开启的确是hiberna ...

  3. python输出print怎么换行_python3的print函数怎么换行输出

    python中的print函数主要用于输出. 在我们常用的print()方法进行输出时,通常输出结果是整行显示出来的,这时候我们需要考虑一下,我们输出的结果需不需要换行? 不需要换行的方法也是嗯容易的 ...

  4. 计算机获取的系统时间是什么时间格式,【excle怎样获取当前日期格式】如何在EXCEL中显示当天的日期和时间?...

    Excel中,如何用函数获取当前日期(即系统日期)的月份值? 个=month(today()). 当月=month(today()),当日=day(today()). =TODAY()获得当前日期,形 ...

  5. 解决时间输出格式带 T 带 000+00:00 输出时间多了个T 返回时间格式带T

    困扰了N多天的输出时间格式问题,人都麻了 在 SpringBoot 项目中使用了 MyBatis-Plus多条件分页连表查询后出现了这个问题,查询出来的时间被加上了一个T和 000+00:00 很明显 ...

  6. html fmt转换日期格式,JSP JSTL fmt:parseDate标签:转换为时间

    标签用于解析字符串为日期对象,被解析的字符串可以指定日期模式来灵活地表达日期对象. 语法: [dateStyle="{default|short|medium|long|full}" ...

  7. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类

    开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...

  8. python数字转日期函数_【转】Python 日期和时间

    本文转自:http://www.runoob.com/python/python-date-time.html Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Pytho ...

  9. html时间框自动更新,原生javascript实现自动更新的时间日期

    能够动态变化的事物总比静态的更能够吸引人,甚至更有实用效果,比如能够自动变化的时间日期效果就是如此,下面就通过代码实例介绍一下如何实现此效果,代码实例如下: 一.具体代码 脚本之家 var t = n ...

最新文章

  1. 【mybatis】IF判断的坑 (实现if test= status == 'zhangsan')
  2. nyoj990蚂蚁感冒
  3. java扑克发牌程序_Java多线程实现扑克牌发牌程序实例
  4. Outlook 阅读窗格(Reading Pane)
  5. 光纤中继器的防雷及日常维护方法介绍
  6. 电话光端机和PDH光端机的区别
  7. FarPoint Spread For .Net 4.0
  8. python notebook软件_Jupyter notebook快速入门教程(推荐)
  9. leetcode990. 等式方程的可满足性
  10. C#中的WebSocket服务器
  11. js离开页面执行函数 onbeforeunload与onunload事件
  12. Java如何获取文件编码格式
  13. 重新定义高端存储架构,华为Dorado V6树立全闪存新标杆
  14. 用python写一个爬取周杰伦所有歌词的爬虫
  15. 依概率收敛与按分布收敛
  16. 【读书分享】吴军:《信息传》
  17. js定义函数的两种形式及区别
  18. 安装GPU版本的pytorch
  19. batchsize和learning rate的影响
  20. idea配置factets和Artifacts

热门文章

  1. 找呀找呀找朋友=-=
  2. 如何使用Photoshop创建绘画照片效果
  3. win10系统下Python3.9.0安装Scrapy步骤、所遇问题及解决方法
  4. 树莓派3b+串口/TTL采集噪声传感器PG-760/ZY-C python程序
  5. linux i2c 端口 usb,纬图USB-I2C适配器 主从机 支持Win/Linux/MAC/安卓
  6. 用python实现语音朗读
  7. 图文详解专业的屏幕软件Camtasia Studio 9
  8. 投资理财-学习和分享
  9. 数据可视化设计规范与应用
  10. 满满干货赶紧进来!!!轻松掌握C语言中的函数