`
xuebingnanmm
  • 浏览: 176482 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

时间戳与格林威治时间互相转换

    博客分类:
  • PHP
PHP 
阅读更多
/**  * fun.TimeApi.php  

*   * GMT 系列 - 功能库接口 1  

*   * 功能库名: 时间处理功能库接口  

*   * 功能库内容介绍:  

*   1. 格林威治时间快速转时间戳 

 *   2. 时间戳转格林威治时间  

*   3. 计算时间间隔  

*   4. 判断是否闰年  

*   5. 闰年间隔判断  

*/  /**  * 把格林威治时间转为时间戳  */

 function GmtToUnix($GmtDate) 

{  

$DateArr = explode(' ',$GmtDate); // 分割GMT日期为 日期 | 时间   

/* 在日期中取得年,月,日 */  

$pDate = split('[/.-]',$DateArr[0]);  

$Year = $pDate[0];  

$Month = $pDate[1];  

$Day = $pDate[2];    

/* 在时间中取得时,分,秒 */  

$pTime = split('[:.-]',$DateArr[1]);  

$Hour = $pTime[0];  

$Minute = $pTime[1];  

$Second = $pTime[2];    

if($Year == '' || !is_numeric($Year))

      $Year = 0;  

if($Month == '' || !is_numeric($Month))

      $Month = 0; 

 if($Day == '' || !is_numeric($Day))

      $Day = 0;  

if($Hour == '' || !is_numeric($Hour))

      $Hour = 0;  

if($Minute == '' || !is_numeric($Minute))

       $Minute = 0;  

if($Second == '' || !is_numeric($Second))

       $Second = 0;    

return mktime($Hour,$Minute,$Second,$Month,$Day,$Year); 

}  

/**  * 把时间戳转换为格林威治时间  *   

* 建议使用php自带的 gmdate / date  */ 

function UnixToGmt($format_string = "Y-m-d H:i:s" ,$UnixTime = 0) 

{  return @gmdate($format_string,$UnixTime); }  

/**  * 计算时间间隔  */ 

function DiffDateTime($interval,$diff_datetime1,$diff_datetime2) 

{ 

 if(is_numeric($diff_datetime1) && !is_numeric($diff_datetime2))   

      $_datetime1 = $diff_datetime1;

      $_datetime2 = GmtToUnix($diff_datetime2);  

  if(!is_numeric($diff_datetime1) && is_numeric($diff_datetime2));   

       $_datetime1 = GmtToUnix($diff_datetime1);

       $_datetime2 = $diff_datetime2;  

if(is_numeric($diff_datetime1) && is_numeric($diff_datetime2))  

        $_datetime1 = $diff_datetime1;

         $_datetime2 = $diff_datetime2;  

if(!is_numeric($diff_datetime1) && is_numeric(!$diff_datetime2))  

         $_datetime1 = GmtToUnix($diff_datetime1);

         $_datetime2 = GmtToUnix($diff_datetime2);    

        

 $diffUnixSec = $_datetime1 - $_datetime2;  

switch ($interval)

{   

case 'Y':   return bcdiv($diffUnixSec, 31536000);    break;   

case 'W':    return bcdiv($diffUnixSec, 604800);     break;   

case 'D':    return bcdiv($diffUnixSec, 86400);    break;   

case 'H':    return bcdiv($diffUnixSec, 3600);    break;   

case 'M':    return bcdiv($diffUnixSec, 60);    break;   

case 'S':    return $diffUnixSec;    break;   

default:    return false;  

} }  

/**  * 闰年判断  * @return boolean  */ 

function isLeapYear($Year) 

{  if(bcmod($Year,4) == 0 && bcmod($Year,100) !== 0 || bcmod($Year,400) == 0)

 {   return true;  } 

else {   return false;  } 

}  

/**  * 闰年间隔计算  */ 

function NextLeapYear($Year,$return_year = false) 

{    if($return_year)

{   return $Year + (4 - (int)bcmod($Year,4));  } 

else {   return 4 - (int)bcmod($Year,4);  } 

} ?>   

 

 

分享到:
评论

相关推荐

    UTC时间戳与北京时间转换C源码

    在C语言中处理时间戳与不同时区时间的转换是常见的需求,特别是在跨时区的数据交换和存储中。本文将深入探讨UTC时间戳与北京时间的转换,并提供一个C语言的源码示例。 首先,我们需要了解C语言中的`time.h`头文件,...

    Unix时间戳与北京时间的转换工具

    在本文中,我们将深入探讨Unix时间戳与北京时间的转换,以及如何在C#中进行这种转换。 首先,让我们理解Unix时间戳和北京时间之间的关系。北京时间是基于东八区的协调世界时间(UTC+08:00),因此在计算时需要考虑...

    Android获取时间戳,以及将时间戳转换为时间

    在这个教程中,我们将深入探讨如何在Android环境中获取时间戳以及如何将时间戳转换为可读的日期和时间。 首先,我们来了解如何在Android中获取当前的时间戳。在Java中,我们可以使用`System.currentTimeMillis()`...

    时间戳转换图片Base64转换小工具

    总结:这款“时间戳转换图片Base64转换小工具”集合了多种实用功能,包括时间戳与日期的相互转换、图片的Base64编码与解码、Base64数据的加解密、MD5哈希计算以及秒表计时。此外,它还能方便地调用系统计算器,满足...

    时间戳 日期时间的转换

    本文将深入探讨时间戳与标准日期时间之间的转换,并提供相关编程示例。 首先,让我们了解什么是标准日期时间。标准日期时间是指按照国际标准ISO 8601定义的日期和时间格式,例如"2023-03-15T14:30:00Z",其中"Z...

    Timstamp时间戳转日期时间双向转换工具-下载

    在各种编程语言和系统中,时间戳被广泛用于记录事件发生的时间,进行时间比较,以及处理与时间相关的数据。 标题提到的"Timstamp时间戳转日期时间双向转换工具"是一个实用的软件工具,它可以帮助用户将时间戳转换为...

    时间戳与时间的转换

    时间戳 与 时间 的转换。 确定好Convert.ToInt64 还是 Convert.ToInt32

    c语言时间戳与时间互转,适用于嵌入式平台。.zip

    在嵌入式系统中处理时间通常涉及到时间戳与时间的相互转换,这对于记录事件发生的时间、定时任务或者与其他系统进行时间同步等功能至关重要。本文将深入探讨C语言中如何实现时间戳与时间的转换,并提供适用于嵌入式...

    时间戳和时间的转换

    本文将深入探讨在VB(Visual Basic)环境中如何进行时间戳与时间之间的转换,以帮助开发者获取所需结果。 时间戳,也称为Unix时间戳,是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不包括闰秒。在VB中,...

    UTC时间戳与北京时间转换

    UTC时间戳与北京时间转换

    EXCEL时间戳转换成时间(北京时间)标准时间日期.xlsx

    时间excel需要将13时间戳和10位时间戳转换成标准时间的人群

    tableau时间戳转换日期

    #### 一、Tableau 时间戳转换背景与意义 在数据分析领域,尤其是使用Tableau进行数据可视化时,经常需要处理时间戳数据。时间戳通常表示从某个特定时间点(如1970年1月1日00:00:00 UTC)起经过的时间,单位通常是秒...

    易语言日期时间戳转换!!!

    易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!易语言日期时间戳转换,也就是把日期时间转换成数值的形式,方便操作!...

    Unix时间戳(Unix timestamp)转换工具 - 站长工具.mht

    Unix系统下时间戳的设置

    时间戳与时间互转,非库函数实现

    在编程领域,时间戳与日期时间的转换是常见的操作,特别是在处理系统时间、日志记录或者数据存储时。本文将详细讲解如何在不依赖库函数的情况下,使用纯代码实现时间戳与日期时间的互转。 首先,让我们了解什么是...

    Unix时间戳转北京时间 UTC时间转北京时间 C代码实现

    整个代码可直接编译运行;Unix时间戳转北京时间,用到“time.h”头文件,是C语言的标准库,使用...UTC时间转化成北京时间,思路:把UTC时间转换成时间戳,然后时间戳数值加上八小时,再把时间戳转化成北京时间。

    javascript时间戳与时间格式自由转换,可从时间到时间戳,也可从时间戳到任意指定时间格式

    这个`timeToDate.js`文件提供了一个重载函数,用于在时间戳和时间格式之间进行灵活转换。这种功能对于处理日期和时间的前端应用尤其有用,比如在用户界面中展示或接收时间数据。 函数接受一到两个参数,根据参数...

    时间和时间戳的相互转换函数——VB

    对于不同的应用场景,我们需要将日期时间转换为便于计算的形式,例如Unix时间戳(即从1970年1月1日00:00:00 UTC起至当前时间的秒数),或者将时间戳转换回可读的时间格式。在Visual Basic (VB) 中,可以通过自定义...

    13位时间戳转换工具

    13位时间戳与标准的Unix时间戳有所不同,标准的Unix时间戳是10位或13位数字,表示从1970年1月1日00:00:00 UTC起的秒数,而13位时间戳则包含毫秒级的精度。这种工具对于开发者来说非常有用,因为他们经常需要处理这种...

    CommonsUtil 时间戳与字符串的转换

    时间戳(Long)转字符串,字符串转时间戳工具包 ,操作方便。

Global site tag (gtag.js) - Google Analytics