php 日期多余小时,在PHP中添加小时到日期时间

DateTime是

PHP中的一个很棒的功能

$string = '1/1/2016 11.00PM';

$date = new DateTime($string);

$interval = new DateInterval('PT6H');

$date->add($interval);

// Now add another 6 hours while we are between 12:00 AM and 6:00 AM

while($date->format('G') >= 0 && $date->format('G') <= 6)

{

$date->add($interval);

}

echo $date->format('H:i:s M-j-Y');

这输出所需的

11:00:00 Jan-2-2016

更新

在我们广泛了解这条特定代码的逻辑之后,我们得出结论,午夜到早上6点之间完成的任何交易都应该从早上6点开始增加6小时(所以,基本上,设置为正午).

每个其他交易通常会增加6个小时.但是如果在加上那6个小时之后,时间间隔在午夜和早上6点之间,那么只有初始和午夜之间的相应时间量和其余时间应该加到早上6点,这基本上只是增加了12个小时到初始值.

所以这是修改后的代码:

$date = new DateTime($string);

$interval = new DateInterval('PT6H');

if($date->format('G') >= 0 && $date->format('G') <= 6)

{

$date->setTime(12,0,0);

}

else

{

$date->add($interval);

if($date->format('G') >= 0 && $date->format('G') <= 6)

{

$date->add($interval);

}

}

echo $date->format('H:i:s M-j-Y');

示例#1

// input

$string = '1/1/2016 3.00AM';

//output

12:00:00 Jan-1-2016 // this is midday

例#2

// input

$string = '1/1/2016 11.00AM';

//output

17:00:00 Jan-1-2016 // this is 5:00 PM

例#3

// input

$string = '1/1/2016 11.00PM';

//output

11:00:00 Jan-2-2016 // this is 11:00 AM

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

streaming api_通过Spring Integration消费Twitter Streaming API

streaming api1.概述 众所周知&#xff0c; Spring Integration具有用于与外部系统交互的大量连接器。 Twitter也不例外&#xff0c;而且很长一段时间以来&#xff0c;因为Spring Social一直是一个开箱即用的解决方案&#xff0c;Spring Integration利用该解决方案来连接到社交…

Linux命令之 mount -- 文件系统挂载

文章目录简介参考实例加载指定的分区参考简介 mount 命令用于加载文件系统到指定的加载点。此命令的最常用于挂载 cdrom&#xff0c;使我们可以访问 cdrom 中的数据&#xff0c;因为你将光盘插入 cdrom 中&#xff0c;Linux 并不会自动挂载&#xff0c;必须使用 Linux mount 命…

java 舍,java 4舍六入五成双

java 四舍六入五成双1. 小于5舍去&#xff0c;即舍去部分的数值小于保留部分的末位的半个单位&#xff0c;则末位不变&#xff1b;2. 大于5进1&#xff0c;即舍去部分的数值大于保留部分的末位的半个单位&#xff0c;则末位加1&#xff1b;3. 等于5时取偶数&#xff0c;即舍去部…

Linux命令之 umount -- 卸载文件系统

文章目录介绍参考介绍 umount 是“unmount”的缩写&#xff0c;译为“不挂载。所以它的”的作用是卸载已挂载的文件系统、目录或文件。 利用设备名或挂载点都能umount文件系统&#xff0c;不过最好还是通过挂载点卸载&#xff0c;以免使用绑定挂载&#xff08;一个设备&#x…

aws技术峰会2018_AWS re:Invent 2018的5大公告

aws技术峰会2018AWS re&#xff1a;Invent刚刚完成。 这是一个巨大的活动&#xff0c;在拉斯维加斯7家最大的酒店中&#xff0c;有50,000多名与会者&#xff0c;并发布了许多新的服务公告。 无服务器端通过新的lambda增强功能和更好的容器支持继续受到很多关注。 AWS通过新的“…

php 降低图像大小,PHP图像重新调整大小

我有一个PHP脚本,可以重新调整JPEG图像的大小.但是,由于某种原因,图像被扭曲,即使我将其编程为按比例计算x或y(取决于照片方向).质量是100,所以我不明白为什么它会使它们扭曲.我究竟做错了什么&#xff1f;编辑原始图像为3264px x 2448px谢谢代码&#xff1a;$im ImageCreateF…

Linux命令之 mke2fs -- 格式化分区(为分区写入文件系统)

文章目录简介命令选项参考实例格式化指定的分区简介 在磁盘分区上创建 ext2、ext3、ext4 等文件系统&#xff0c;默认情况下会创建 ext2。 虽然 mkfs 命令非常简单易用&#xff0c;但其不能调整分区的默认参数&#xff08;比如块大小是 4096 Bytes&#xff09;&#xff0c;这…

Linux格式化分区的命令

查看系统所有的文件系统&#xff1a; [~]$ df -ah Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s5s1 234Gi 15Gi 65Gi 19% 575614 682553320 0% / devfs 190Ki 190Ki 0Bi 100% 658 …

java jwt 验证_教程:用Java创建和验证JWT

java jwt 验证“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 Java对JWT&#xff08;JSON Web令牌&#xff09;的支持过去需要进行大量…

php网页布局边框,用CSS来设置网页当中的边框

摘要&#xff1a;跟着老师视频做的一个css边框小练习 css——边框 &nbs跟着老师视频做的一个css边框小练习 css——边框 .box{width:100px;height:100px;border:1px solid #ccc;border-radius:20px;}.main{width:100px;height:100px;border-top: 1px s…

Linux命令之 mkfs -- 在特定的分区创建 Linux 文件系统

文章目录简介选项参考示例在 /dev/hda5 上建一个 msdos 的文件系统&#xff0c;同时检查是否有坏轨存在&#xff0c;并且将过程详细列出来&#xff1a;将指定分区格式化成各种类型的文件系统简介 该命令用来在特定的分区创建 Linux 文件系统&#xff0c;常见的文件系统有 ext2…

本地线程分配缓冲_线程本地分配缓冲区

本地线程分配缓冲最近&#xff0c;我一直在研究遭受严重性能问题的Java应用程序。 在许多问题中&#xff0c;真正引起我注意的一个问题是新对象的分配速度相对较慢&#xff08;应用程序分配了大量的相当大的对象&#xff09;。 后来发现&#xff0c;原因是大量的分配发生在TLAB…

mysql 触发器计算总价,mysql’插入’触发器根据其他字段计算字段

我正在尝试创建一个触发器,它将根据用户输入的lat / lng列更新GEOMETRY列.我的触发器看起来像这样 –CREATE TRIGGER tbl.fooAFTER INSERT ON tbl FOR EACH ROWBEGINUPDATE tblSET coord Point(lng, lat)WHERE id NEW.id;END但是,当我插入一个带有lng,lat值的新行时,我收到以…

oracle连接外部数据库_使用Oracle验证外部数据

oracle连接外部数据库我经常在Corda Slack频道中闲逛&#xff0c;并尽可能回答问题。 我尝试回答的合理数量的问题与Oracle有关。 更具体地说&#xff0c;何时使用。 我觉得我可以回答&#xff0c;“当您需要验证可能经常更改的外部数据时使用Oracle”。 我大概在某个时候写了一…

macOS如何格式化移动硬盘和U盘

1.打开磁盘工具 2.在左侧选择要格式化的外置磁盘设备&#xff0c;接着在右上角点击【抹掉】 3.点击【抹掉】会弹出如下的对话框&#xff0c;在格式中建议选择 ExFAT 格式&#xff0c;这是一个在 Windows 和 macOS 都可以使用的文件系统格式 选择好要格式化的文件系统格式后&…

macOS查看IP地址的命令

查看内网的 IP 地址&#xff1a; [~]$ ipconfig getifaddr en0 192.168.30.25 # 或者 [~]$ ifconfig en0 en0: flags8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500options400<CHANNEL_IO>ether d4:61:9d:11:c2:94 inet6 fe80::cbc:309b:57a4:5cf6…

mysql注入漏洞语句,web安全之sql注入漏洞

概念通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。通俗地讲&#xff0c;它是利用现有应用程序&#xff0c;将(恶意)的SQL命令注入到后台数据库引擎执行的能力&#xff0c;它可以通过在Web表单中输入(恶意…

ssrs 基于表达式显示_基于表达式的访问控制

ssrs 基于表达式显示1.概述 今天&#xff0c;我们将回顾基于表达式的访问控制&#xff08;EBAC&#xff09;&#xff0c;基于角色的访问控制&#xff08;RBAC&#xff09;和基于属性的访问控制&#xff08;ABAC&#xff09;之间的区别&#xff0c;并将重点放在EBAC上。 2.什么…

macOS下载、安装、使用tomcat服务器及IntelliJ IDEA for Mac 如何集成、配置、运行tomcat

文章目录web 服务器软件tomcat如何下载安装 tomcatmacOS 下如何启动 tomcatWindows 启动 tomcat部署项目的方式直接将项目放到 webapps 目录下即可在 tomcat 的配置文件 server.xml 中进行配置部署在 tomcat 的 localhost 目录下通过 xml 文件完成部署IntelliJ IDEA 集成 tomca…

run spark pi_Spark Run本地设计模式

run spark pi现在&#xff0c;许多Spark应用程序已成为遗留应用程序&#xff0c;很难在本地进行增强&#xff0c;测试和运行。 Spark具有很好的测试支持&#xff0c;但仍有许多Spark应用程序不可测试。 当您尝试运行一些旧的Spark应用程序时&#xff0c;我将分享一个常见错误…