php中datetime,珍藏 PHP中DateTime的常用方法

前言

实例化对象前面加\表示的是,在命名空间中使用原生的类,如果没有使用命名空间的话,可以把前面的\给删除掉

输出当前时间

$datetime = new \DateTime;

print_r($datetime->format('Y-m-d H:i:s'));

输出给定的时间

$datetime = new \DateTime('2016-06-13');

print_r($datetime);

根据给定的时间格式化为自己想要的时间

$datetime = \DateTime::createFromFormat('Ymd', '20160618');

print_r($datetime->format('Y-m-d'));

输出Unix时间戳格式(方法1如果是1990年以前的会返回负数,而方法2则会返回false)

//方法1(php5.2):

$datetime = new \DateTime();

echo $datetime->format('U');exit;

//方法2(php5.3)推荐

$datetime = new \DateTime();

echo $datetime->getTimestamp();exit;

根据给定的时间戳格式化为给定的时间

$datetime = new \DateTime();

$datetime->setTimestamp(1465783744);

echo $datetime->format('Y-m-d H:i:s');

两个日期时间比对,年与年比对,月与月比对……

$datetime1 = new \DateTime('2016-01-01 10:11:18');

$datetime2 = new \DateTime('2017-05-11 22:21:21');

$interval = $datetime1->diff($datetime2);

print_r($interval->format('%Y'));//%表示使用格式化,R表示是大于这个日期(+),还是小于这个日期(-),a表示大于或小于多少天,时分秒正常使用y,m,d,h,i,s

创建长度为几天前的时间

DateInterval构造函数的参数是一个表示时间间隔约定的字符串,这个时间间隔约定以字母P开头,后面跟着一个整数,最后是一个周期标识符,限定前面的整数。有效周期标识符如下: Y(年) M(月) D(日) W(周) H(时) M(分) S(秒) 间隔约定中既可以有时间也可以有日期,如果有时间需要在日期和时间之间加上字母T,例如,间隔约定P2D表示间隔两天,间隔约定P2DT5H2M表示间隔两天五小时两分钟。

$datetime = new \DateTime();

$interval = new \DateInterval('P2DT5H');

//或者使用createFromDateString方法

//$interval = \DateInterval::createFromDateString('1 month');

//修改DateTime实例

$datetime->add($interval);

echo $datetime->format('Y-m-d H:i:s');

创建几天前的时间

$datetime = new \DateTime();

$interval = new \DateInterval('P2DT5H');

$datetime->sub($interval);

echo $datetime->format('Y-m-d H:i:s');

//ps:有个modify方法,这个方法是减去30,并不是像前推1天,输出的还是12月

$datetime = new \DateTime('2014/12/31');

$datetime->modify( '-1 month' );

print_r($datetime);exit;

重置当前的DateTime对象的时间不同的日期,传递年,月,日

$datetime = new \DateTime();

$datetime->setDate(2015, 2, 28);

echo $datetime->format('Y-m-d');exit;

重置当前的DateTime对象的时间不同的时间,传递时,分,秒(可选参数)

$datetime = new \DateTime();

$datetime->setTime(20, 20, 24);

echo $datetime->format('Y-m-d H:i:s');exit;

格式化时间前更改时间的时区

$timezone = new \DateTimeZone('Asia/Calcutta');

$datetime = new \DateTime();

$datetime->setTimezone($timezone);

print_r($datetime->format('Y-m-d H:i:s'));exit;

返回时区

$date = new \DateTime(null, new DateTimeZone('Asia/Shanghai'));

$tz = $date->getTimezone();

echo $tz->getName();

计算两个时区的偏移值

$dateTimeZoneTaipei = new \DateTimeZone("Asia/Taipei");

$dateTimeZoneJapan = new \DateTimeZone("Asia/Tokyo");

$dateTimeTaipei = new \DateTime("now", $dateTimeZoneTaipei);

$dateTimeJapan = new \DateTime("now", $dateTimeZoneJapan);

$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

print_r($timeOffset);exit;

返回时间间隔,多长时间

$interval = new \DateInterval('P2Y4DT6H8M');

echo $interval->format('%d days');

迭代输出距离当前日期的前几天日期。

DatePeriod类的构造方法接受三个参数而且都必须提供 一个DateTime实例,表示迭代开始的日期和时间 一个DateInterval实例,表示下一个日期和时间的间隔 一个整数,表示迭代的总次数 第四个参数是可选的,用于显式指定周期的结束日期和时间,如果迭代时想要排除开始日期和时间,可以把构造方法的最后一个参数设为DatePeriod::EXCLUDE_START_DATE常量:

$datetime = new \DateTime();

$interval = \DateInterval::createFromDateString('-1 day');

$period = new \DatePeriod($datetime, $interval, 3);

foreach ($period as $date) {

echo $date->format('Y-m-d'), PHP_EOL;

}

总结

以上就是PHP中DateTime的常用方法总结的全部内容,内容整理比较齐全,相信对大家日常使用PHP很有帮助,建议大家收藏方便以后查阅。

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

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

相关文章

php 实现跨站下载图片,一个图片url访问后直接下载怎样实现

一个图片url访问后直接下载怎样实现先看代码downloadIamge(imgsrc, name) {//下载图片地址和图片名let image new Image();// 解决跨域 Canvas 污染问题image.setAttribute("crossOrigin", "anonymous");image.onload function() {let canvas document.…

【BZOJ】【1086】 【SCOI2005】王室联邦

树分块 orz vfk && PoPoQQQ http://vfleaking.blog.163.com/blog/static/174807634201231684436977/http://blog.csdn.net/popoqqq/article/details/42772237 这题是要把树分成一块一块的……(感觉好像不是原来理解的树分块处理操作啊……) 每块…

matlab火焰测温源程序,一种火焰测温方法与流程

本发明涉及一种测量火焰温度的方法。背景技术:火焰是气态的且正在发生剧烈氧化反应的燃料及各种中间产物及最终产物的混合物。在煤化工、化工领域,在高温、高压反应器(或气化炉)上,火焰检测器一般安装在气化炉的顶部或者中下部,用…

python spark hadoop_使用Scala或Python列出存储在Hadoop HDFS上的Spark群集中可用的所有文件?...

列出Spark中本地可用的所有文件名的最有效方法是什么?我正在使用Scala API,但是,Python也应该没问题。解决方案import org.apache.hadoop.fs。{FileSystem,FileUtil,Path}import scala.collection.mutable.Stack$ b $ …

asp.net权限控制配置web.config

项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> <location path "A "> <system.web> <authorization> <allow users…

oracle排序函数性能,oracle排序函数

rank,dense_rank,row_number&#xff0c;以及分组排名partitionrank:排名会出现并列第n名&#xff0c;它之后的会跳过空出的名次&#xff0c;例如&#xff1a;1,2,2,4dense_rank:排名会出现并列第n名&#xff0c;它之后的名次为n1&#xff0c;例如&#xff1a;1,2,2,3row_numbe…

pythonplotline_带误差条的python绘图线,pythonplotlinewitherrorbar

我们有时候会面临画带有误差的图&#xff0c;大致长成下面这个样子image.png代码为# -*- coding: utf-8 -*-"""Created on Sun Jul 5 21:12:17 2020author: x1c"""import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npsns.s…

php什么是变量6,PHP变量是什么

PHP是一门弱类型语言&#xff0c;本身不严格区分变量的类型。PHP在变量申明的时候不需要指定类型。PHP在程序运行期间可能进行变量类型的隐示转换。 和其他强类型语言一样&#xff0c;程序中也可以进行显示的类型转换。PHP变量可以分为简单类型(int、string、bool)、集合类型(a…

美国只有两样东西要比中国 贵,一个是智慧财产权,一个是人工

美国只有两样东西比中国贵 最近中国一直在热传美国的物价低于中国&#xff0c;特别是生活必需品方面&#xff0c;甚至换算成同一种货币都低于中国。从整体情况来 看&#xff0c;美国人各项消费的支出所占收入的比例要远远低于中国人。有人提出来疑问说&#xff0c;那美国人收入…

红黑树和平衡二叉树的区别_面试题精选红黑树(c/c++版本)

红黑树的使用场景非常广泛&#xff0c;比如nginx中用来管理timer、epoll中用红黑树管理事件块&#xff08;文件描述符&#xff09;、Linux进程调度Completely Fair Scheduler用红黑树管理进程控制块、CSTL中map,set的底层实现全是用的红黑树。掌握红黑树的原理以及使用场景&…

linux 更新软件命令 失败,对linux下软件(库)的更新命令详解

在ubuntu服务器下安装包的时候&#xff0c;经常会用到sudo apt-get install 包名 或 sudo pip install 包名&#xff0c;那么两者有什么区别呢&#xff1f;1.区别pip用来安装来自PyPI(https://www.python.org/)的python所有的依赖包&#xff0c;并且可以选择安装任何在PyPI上已…

查看oracle死锁进程并结束死锁

查看oracle死锁进程并结束死锁 摘自: http://sqcjy111.iteye.com/blog/1183928 查看锁表进程SQL语句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$sessio…

python科学坐标图绘制的四个要素_Python3.0科学计算学习之绘图(四)

绘制三维图&#xff1a;mplot3d工具包提供了点、线、等值线、曲面和所有其他基本组件以及三维旋转缩放的三维绘图。1.散点的三维数据图from mpl_toolkits.mplot3d import axes3d #需要从mplot3d模块中导入axes 3D类型import numpy as npimport matplotlib.p…

linux shell tr命令,linux shell tr命令详解

tr命令是linux下的一个命令&#xff0c;那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell tr命令的相关知识&#xff0c;希望大家喜欢!linux shell tr命令tr是translate的简写&#xff0c;亦即翻译&#xff0c;但是遗憾的是&#xff0c;它不能翻译句子&am…

PHP 函数:intval()

intval 变量转成整数类型。 语法: int intval(mixed var, int [base]); 返回值: 整数 函数种类: PHP 系统功能 内容说明:本函数可将变量转成整数类型。可省略的参数 base 是转换的基底&#xff0c;默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。转载于:htt…

python桌面应用html_是否将Python后端与HTML / CSS / JS用户界面集成到桌面应用程序? - javascript...

在创建桌面应用程序时&#xff0c;如何或将Python代码与HTML / CSS / JS集成为用户界面&#xff0c;该如何做&#xff1f;一个简单的例子&#xff1b;如果我想用Python创建一个打印“ Hello World&#xff01;”的函数并使用HTML / CSS / JS创建用户界面(使其精美&#xff0c;也…

linux中按行读取文件,Linux按行读取文件内容

方法1&#xff1a;while循环中执行效率最高&#xff0c;最常用的方法。function while_read_LINE_bottm(){While read LINEdoecho $LINEdone < $FILENAME}#!/bin/bashwhile read linedoecho $linedone < filename(待读取的文件)注释&#xff1a;习惯把这种方式叫做read釜…

Visual C++ 基础数据类型的转换

16.1如何将基本数据类型转换成CString类型 用CString的Format方法 void CDemoView::OnDraw(CDC* pDC) {int a 100;double b 1.23;//将整型转换成CStringCString str1 _T("");str1.Format(_T("%d"), a);//将实型转换成CStringCString str2 _T("&qu…

python 片段_python片段程序

from PIL import Imageimport re#给图片添加一层蒙版&#xff0c;可以设置位置&#xff0c;尺寸&#xff0c;颜色&#xff0c;透明度def img_add_glass(img,new_imgglass,glass_factor0.3,glass_color#ffffff,glass_x0,glass_y0,glass_width300,glass_height100):imageobjectif…

linux ruby 安装路径,Linux(CentOS 7)安装ruby

首先下载Linux版ruby源码“ruby-2.7.0.tar.gz”&#xff0c;上传并解压到/usr/local路径下&#xff1a;tar -xzvf ruby-2.7.0.tar.gz安装编译依赖工具&#xff0c;gcc、gcc-c、gdbm-devel、readline-devel和openssl-devel&#xff1a;yum install gccyum install gcc-cyum inst…