php实现兼容2038年后Unix时间戳转换函数
使用方法跟旧的函数一模一样.
function fun_strtotime($var1=0,$var2=0){
if(!$var2){
$var2 = $var1;
$var1 = 0;
}
if(is_numeric($var2)){
$var2 = '@'.$var2;
}
try{
$date = new DateTime($var2);
$date->setTimezone(new DateTimeZone(date_default_timezone_get()));
}catch(Exception $e){ $date = 0;}
if(is_object($date)){
if($var1)
$date->modify($var1);
return $date->format('U');
}else{
return 0;
}
}
function fun_date($var1=0,$var2=0){
if(!$var2){
$var2 = $var1;
$var1 = 'Y-m-d H:i:s';
}
try{
$date = new DateTime('@'.$var2);
$date->setTimezone(new DateTimeZone(date_default_timezone_get()));
}catch(Exception $e){ $date = 0;}
if(is_object($date)){
return $date->format($var1);
}else{
return '';
}
}
以上就是本文所述的全部内容了,希望对大家学习php有所帮助。
相关推荐
-
关于PHP转换超过2038年日期出错的问题解决
前言 最近在写一个项目接口.测试中发现服务器上测试正常的功能,在本地一直有问题.一步步的排查,最终锁定问题是由于函数strtotime返回了一个false值,导致数据插入数据库失败. 相同代码运行结果不一样,原因那就是环境不一致导致.要么是PHP版本不同,要么是位数不同. 我电脑是64位的.这里是PHP位数不一致,服务器使用64位,而我本地是32位.而strtotime被传入了一个字符串2050-1-1 23:59:59,该参数大于了2038-1-19 03:14:07所以在32位PHP下直接返
-
PHP中大于2038年时间戳的问题处理方案
PHP有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日 03:14:07.(此范围符合 32 位有符号整数的最小值和最大值).不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日. 64位系统就不会受影响了,如果在32系统可以使用new DateTime解决 复制代码 代码如下: $date = '2090-10-01
-
php calender(日历)二个版本代码示例(解决2038问题)
注意32位机有2038问题,所以32位服务器的年限范围1970年~2038年 我们还可以使用DateTime来规避这个问题(这样与32位64位无关了) 复制代码 代码如下: <?php/** * * 我的日历 * date_default_timezone_set date mktime * @param int $year * @param int $month * @param string $timezone * @author fc_lamp * @blog: fc-lamp.blog
-
php实现兼容2038年后Unix时间戳转换函数
使用方法跟旧的函数一模一样. 复制代码 代码如下: function fun_strtotime($var1=0,$var2=0){ if(!$var2){ $var2 = $var1; $var1 = 0; } if(is_numeric($var2)){ $var2 = '@'.$var2; } try{ $date = new DateTime($var2); $dat
-
JS的时间格式化和时间戳转换函数示例详解
JS的时间格式化和时间戳转换函数 //格式化时间 function dateFormat(fmt,date){ var o = { "M+" : date.getMonth()+1, //月份 "d+" : date.getDate(), //日 "h+" : date.getHours(), //小时 "m+" : date.getMinutes(), //分 "s+" : date.getSeconds
-
用VBS获取Unix时间戳的函数代码
VBS中没有类似C标准库中的time函数,怎么获取Unix时间戳呢?乍一看很简单: 复制代码 代码如下: Function UnixTime() UnixTime = DateDiff("s", "01/01/1970 00:00:00", Now()) End Function 一个很想当然的方法,仅仅注意到了"1970年1月1日0时0分0秒",而忽略了"协调世界时". 协调世界时,又称世界标准时间或世界协调时间,简称UTC
-
PHP中UNIX时间戳和日期间的转换与计算实例
UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式.以32位整数表示格林威治标准时间,例如,使用证书11230499325表示当前时间的时间戳.UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始起到当前时间所经过的秒数.1970年1月1日零点作为所有日期计算的基础,这个日期通常成为UNIX纪元. 因为UNIX时间戳是一个32位的数字格式,所以特别适用于计算机处理,例如计算两
-
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec
-
C#中系统时间和UNIX时间戳互相转换
在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年月日时分秒,这样就需要做一下转换,代码如下: 一.将系统时间转换成UNIX时间戳 复制代码 代码如下: DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1)); DateTime dtNow =
-
php UNIX时间戳用法详解
本文实例讲述了php UNIX时间戳用法.分享给大家供大家参考,具体如下: 时间戳是文件属性中的创建.修改.和访问时间.数字时间戳服务是Web网站安全服务项目之一,能提供电子文件的日期和时间信息的安全保护. 时间戳的优点是: 可用变化的加密数值,防止数值被窃取后非法重复利用,起到加密的作用.时间戳主要依赖于时间,在约定的一段时间内产生唯一的一个数值. UNIX时间戳 在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间被称为UNIX时间戳,以32位二进制数表示.
-
python获取当前时间对应unix时间戳的方法
本文实例讲述了python获取当前时间对应unix时间戳的方法.分享给大家供大家参考.具体分析如下: Unix timestamp:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 import datetime import time print time.mktime(datetime.datetime.now().timetuple()) 输出为: 1431674373.0 PS:这里再为大家推荐一个本站Unix时间戳转换工具,附带了各种语言下Unix时间戳的操作
-
python正常时间和unix时间戳相互转换的方法
本文实例讲述了python正常时间和unix时间戳相互转换的方法.分享给大家供大家参考.具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1332888820 格式转换成 2012-03-28 06:53:40的形式 # -*- coding: utf-8 -*- import time def timestamp_datetime(value): format = '%Y-%m-%d %H:%M:%S' # value为传入的值为时间戳(
-
JavaScript输出当前时间Unix时间戳的方法
本文实例讲述了JavaScript输出当前时间Unix时间戳的方法.分享给大家供大家参考.具体如下: 下面的代码通过Date对象的getTime()放回unix时间戳,即从1970年1月1日到当前时间的秒数 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to display the number of milliseconds since midnight, Ja
随机推荐
- JS和C#分别防注入代码
- json转String与String转json及判断对象类型示例代码
- DB2 日期和时间的函数应用说明
- Access出现"所有记录中均未找到搜索关键字"的错误解决
- js中window.open的参数及注意注意事项
- php操作SVN版本服务器类代码
- 防止在服务器处理完成之前用户多次点击提交按钮处理代码
- asp.net String.IsNullOrEmpty 方法
- [PHP]实用函数10
- 开发大型PHP项目的方法
- PHP技术开发微信公众平台
- python妹子图简单爬虫实例
- Windows上配置Emacs来开发Python及用Python扩展Emacs
- Android开发-之环境的搭建(图文详解)
- android Socket实现简单聊天小程序
- jsp内置对象
- sql中case语句的用法浅谈
- jQuery+CSS 半开折叠效果原理及代码(自写)
- JavaScript事件代理和委托详解
- JS window.opener返回父页面的应用