热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php如何处理公元前日期

导读:本篇文章编程笔记来给大家介绍有关php如何处理公元前日期的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、PHP输

导读:本篇文章编程笔记来给大家介绍有关php如何处理公元前日期的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:


  • 1、PHP 输入0001-01-02 日期格式


  • 2、php 如何处理 1970前时间 时间戳失效了


  • 3、用PHP怎么取得7天前的日期


  • 4、wordpress如何修改文章的发布时间为公元前XX年?比如公元前7000万年的恐龙时代?


  • 5、如果在PHP中判断某一天是在某一日期的前或后


  • 6、php怎么将指定日期转换为时间戳?

PHP 输入0001-01-02 日期格式

在命令行窗口键入date,空一格,输入新日期,确认。

需要注意的问题:一、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式2015-12-5。

二、php5.1以上时间戳会与实际时间相差8小时,解决办法如下:

1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法。

2、修改php.ini。打开php.ini查找date.timezone去掉前面的分号,后面加Asia/Shanghai,重启apache服务器即可。缺点就是如果程序。放到别人的服务器上,不能修改php.ini,那就奈何不得了。

3、在程序中添加时间的初始化的语句即:date_default_timezone_set(Asia/Shanghai)。

php 如何处理 1970前时间 时间戳失效了

php 5.2+提供了DateTime类来处理这样的问题,参考方案如下(请注意时区的处理):

//1、Unix时间戳转日期  function unixtime_to_date($unixtime, $timezone = 'PRC') {      $datetime = new DateTime("@$unixtime"); //DateTime类的bug,加入@可以将Unix时间戳作为参数传入      $datetime-setTimezone(new DateTimeZone($timezone));      return $datetime-format("Y-m-d H:i:s");  }  

  

//2、日期转Unix时间戳  

function date_to_unixtime($date, $timezone = 'PRC') {  

    $datetime= new DateTime($date, new DateTimeZone($timezone));  

    return $datetime-format('U');  

}  

  

echo date_to_unixtime("1900-1-31 00:00:00"); //输出-2206425952  

echo 'br';  

echo unixtime_to_date(date_to_unixtime("1900-1-31 00:00:00")); //输出1900-01-31 00:00:00

用PHP怎么取得7天前的日期

在PHP里面,使用time函数获得当前的时间(年月日时分秒都有,实际上是从1970 年 1 月 1 日 00:00:00到当前时间的秒数。

那么,要获得7天前的时刻只需要当前时刻减去7天*24小时/天*3600秒/小时即可,也就是time()-7-24*3600。

例子代码:

?php

  $t=time();

  echo date('Y-m-d H:i:s',$t)."\n";

  $t-=7*24*3600;

  echo date('Y-m-d H:i:s',$t)."\n";

?

上面的代码显示:

2015-12-17 13:29:59

2015-12-10 13:29:59

如果你只需要到天,不需要时分秒,那么date函数的第一个参数改为'Y-m-d'即可。

wordpress如何修改文章的发布时间为公元前XX年?比如公元前7000万年的恐龙时代?

php能表达的时间是有限的。php最大时间戳是:2038年1月19号

有效的时间戳典型范围是格林威治时间1901年12月13日20:45:54到2038年1月19日03:14:07。(此范围符合32位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年 1 月 19 日。

当然你也可以设置成一组无意义的数字,写入数据表中,当做时间来处理,但是不能作为时间操作!

如果在PHP中判断某一天是在某一日期的前或后

//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。

$timestamp = time();

$dateYear = date('Y', $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的

$dateMOnth= date('n', $timestamp);//当前月份数字,没有前导零

$dateDay = date('j', $timestamp);//月份中的第几天,没有前导零

//剩下的就是比较了,比如你要比较的日期是 2007-03-01

$eventDate = '2007-03-01';

$eventDateArr = explode('-', $eventDate);

$eventYear = intval($eventDateArr[0]);

$eventMOnth= intval($eventDateArr[1]);

$eventDay = intval($eventDateArr[2]);

//上面是年月日的拆分,根据实际情况可以调整,如果你直接可以得到就不需要这样取了。

//之后剩下的就是比较了,先比较年

if($dateYear == $eventYear) {

//同年

if($dateMOnth== $eventMonth) {

//同月

if($dateDay == $eventDay) {

//同一天,就是当前日期就是事件触发的日期

} elseif($dateDay $eventDay) {

//事件已经过期了

} else {

//事件触发日期还没到

}

} else {

//之前或之后,再需要详细判断可以在这里比较哪个月份大

}

} else {

//之前或之后,再需要详细判断可以在这里比较哪个年份大

}

//其实这种比较是最简单的逻辑判断,如果你在记录时间触发日期时记录的是 unix 时间戳,这里可以直接进行时间戳比较不过需要处理一下,因为时间戳是精确到秒的

//或者把你记录的日期及其后一天直接转化成 unix 时间戳,时分秒都用 0 ,和当前时间戳比较,细节判断就自己去分析吧,可用函数去查查手册里面 strtotime() ,时间相关函数参数很多,不过用过几次就熟悉了。

php怎么将指定日期转换为时间戳?

在MySQL中完成 。

下面介绍两种php将指定日期转换为时间戳的方法:

第一种:在MySQL中完成

这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性。

UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 

一般形式:select FROM_UNIXTIME(1156219870);

日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() 

一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′); 

举例:mysql查询当天的记录数: 

$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”; 

当然大家也可以选择在PHP中进行转换,下面说说在PHP中转换。

第二种:在PHP中完成 这种方式在PHP程序中完成转换,优点是无论是不是数据库中查询获得的数据都能转换,转换范围不受限制,缺点是占用PHP解析器的解析时间,速度相对慢。

UNIX时间戳转换为日期用函数: date() 一般形式:date('Y-m-d H:i:s', 1156219870);

日期转换为UNIX时间戳用函数:strtotime() 一般形式:strtotime('2010-03-24 08:15:42')

php中时间转换函数strtotime(date()) date("Y-m-d H:i",$unixtime)

php中获得今天零点的时间戳 要获得零点的unix时间戳,可以使用$todaytime=strtotime(“today”),然后再使用date("Y-m-d H:i",$todaytime)转换为日期。

时间戳转换函数:date("Y-m-d H:i:s",time()),"Y-m-d H:i:s"是转换后的日期格式,time()是获得当前时间的时间戳。如果是date("Y-m-d H:i:s",time()),则小时分秒一起显示;如果是date("Y-m-d ", time()),只显示年月日。例如:date("Y-m-d H:i:s",time())转换后为:2010-07-18 18:42:48 date("Y-m-d",time())。

结语:以上就是编程笔记为大家介绍的关于php如何处理公元前日期的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


推荐阅读
  • MySQL 数据操作:增、删、查、改全面解析
    MySQL 数据操作:增、删、查、改全面解析 ... [详细]
  • 在C#编程中,数值结果的格式化展示是提高代码可读性和用户体验的重要手段。本文探讨了多种格式化方法和技巧,如使用格式说明符、自定义格式字符串等,以实现对数值结果的精确控制。通过实例演示,展示了如何灵活运用这些技术来满足不同的展示需求。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 本文深入探讨了CGLIB BeanCopier在Bean对象复制中的应用及其优化技巧。相较于Spring的BeanUtils和Apache的BeanUtils,CGLIB BeanCopier在性能上具有显著优势。通过详细分析其内部机制和使用场景,本文提供了多种优化方法,帮助开发者在实际项目中更高效地利用这一工具。此外,文章还讨论了CGLIB BeanCopier在复杂对象结构和大规模数据处理中的表现,为读者提供了实用的参考和建议。 ... [详细]
  • 在MySQL中实现时间比较功能的详细解析与应用
    在MySQL中实现时间比较功能的详细解析与应用。本文深入探讨了MySQL中时间比较的实现方法,重点介绍了`UNIX_TIMESTAMP`函数的应用。该函数可以接收一个日期时间参数,也可以不带参数使用,其返回值为Unix时间戳,便于进行时间的精确比较和计算。此外,文章还涵盖了其他相关的时间处理函数和技巧,帮助读者更好地理解和掌握MySQL中的时间操作。 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 当使用 `new` 表达式(即通过 `new` 动态创建对象)时,会发生两件事:首先,内存被分配用于存储新对象;其次,该对象的构造函数被调用以初始化对象。为了确保资源管理的一致性和避免内存泄漏,建议在使用 `new` 和 `delete` 时保持形式一致。例如,如果使用 `new[]` 分配数组,则应使用 `delete[]` 来释放内存;同样,如果使用 `new` 分配单个对象,则应使用 `delete` 来释放内存。这种一致性有助于防止常见的编程错误,提高代码的健壮性和可维护性。 ... [详细]
  • 如何撰写适应变化的高效代码:策略与实践
    编写高质量且适应变化的代码是每位程序员的追求。优质代码的关键在于其可维护性和可扩展性。本文将从面向对象编程的角度出发,探讨实现这一目标的具体策略与实践方法,帮助开发者提升代码效率和灵活性。 ... [详细]
  • 如何在WAMP环境中更改默认的www根目录路径
    在WAMP环境中更改默认的www根目录路径,可以通过编辑Apache配置文件实现。具体步骤如下:打开D:\WampServer\bin\apache\apache2.2.22\conf\httpd.conf文件,找到并修改DocumentRoot和指令,将路径更改为新的根目录位置。保存文件后重启WAMP服务,即可生效。此方法适用于需要自定义项目部署路径的开发者。 ... [详细]
  • 本文介绍了如何利用Apache POI库高效读取Excel文件中的数据。通过实际测试,除了分数被转换为小数存储外,其他数据均能正确读取。若在使用过程中发现任何问题,请及时留言反馈,以便我们进行更新和改进。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
author-avatar
氤氲微凉521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有