PHP Date ( I need to use)
本文记录项目中用到的 PHP Date 相关,备忘。
日期格式约定为 xx-xx-xx 格式(字符串),例如 2016-03-09。
xx-xx-xx -> 时间戳
$date = "2016-03-09";
$timestamp = strtotime($date); // 1457481600
这是完完全全的服务器的时间戳(ps:这些函数依赖于服务器的本地设置,如果默认设置的话是零时区),"2016-03-09" 这个日期是零时区(本初子午线)的时间。如果要在客户端获取该时间戳,可以这样:
var timestamp = Date.UTC(2016, 2, 9) / 1000; // 1457481600
作为对比:
var date = new Date(2016, 2, 9);
var timestamp = +date / 1000; // 1457452800
而 (1457452800 - 1457481600) / 3600 = -8。
因为 date 获取的变量值是客户端本地时间。而本地(东八区)2016 年 3 月 9 日时,零时区应该是 2016 年 3 月 8 日 16 点,所以时间戳会小。详见 Javascript Date。
时间戳 -> xx-xx-xx
$timestamp = 1457481600;
$date = date("Y-m-d", $timestamp); // 2016-03-09
获取当前时间、昨天时间等(xx-xx-xx 格式)
// 获取当前时间
$today = date("Y-m-d"); // 2016-03-09
// 获取昨天时间
$yesterday = date("Y-m-d", strtotime('-1 days')); // 2016-03-08
改变时区
PHP 获取的都是服务器的时间,而默认是零时区,如果要改成东八区,可以这样:
date_default_timezone_set("Asia/Shanghai");
$time = date("Y-m-d H:i:s"); // 东八区当地时间
遍历 xx-xx-xx ~ xx-xx-xx
$startDate = "2016-01-02";
$endDate = "2016-03-10";
$startTimeStamp = strtotime($startDate);
$endTimeStamp = strtotime($endDate);
for ($i = $startTimeStamp; $i <= $endTimeStamp; $i += 86400 ) {
$day = date("Y-m-d", $i);
// 操作 $day
// var_dump($day);
}
其他
- getdate() 函数 获取当前时间各种信息
- date() 函数 格式化时间
- strtotime() 函数 根据具体日期获取时间戳
- time() 函数 当前时间时间戳
- date (php.net)
- PHP Date / Time 函数 (w3school)
PHP Date ( I need to use)的更多相关文章
- JavaScript Date对象
本篇主要介绍 Date 日期和时间对象的操作. 目录 1. 介绍:阐述 Date 对象. 2. 构造函数:介绍 Date 对象的构造函数new Date()几种方式. 3. 实例方法:介绍 Date ...
- ExtJS 4.2 Date组件扩展:添加清除按钮
ExtJS中除了提供丰富的组件外,我们还可以扩展他的组件. 在这里,我们将在Date日期组件上添加一个[清除]按钮,用于此组件已选中值的清除. 目录 1. Date组件介绍 2. 主要代码说明 3. ...
- Java 时间类-Calendar、Date、LocalDate/LocalTime
1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...
- 为什么你SQL Server的数据库文件的Date modified没有变化呢?
在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半 ...
- mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法!
mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法! 修改mysql5.7的配置文件即可解决,方法如下: linux版:找到mysql的安装路径进入默认的为/usr/shar ...
- date命令
GNU的date提供+%s(小写s), 能打印出自1970-01-01 00:00:00到当前时间的秒数. 这可能大家都不陌生,但有两点需要注意: 1. %s存在于GNU扩展版本.像在solaris等 ...
- 【Spring】SpringMVC中浅析Date类型数据的传递
在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...
- Date.parse
JavaScript: Date.parse(),一个参数,参数类型是 JavaScript 中的 Date 类型. 返回值 : 得到一个 Unix 时间戳,比如说,1470993235000,这种东 ...
- Mysql FROM_UNIXTIME效率 VS PHP date()效率 数据说话!
这几天在做数据统计,有几个统计图的需求是这样的: 按照年.月.日统计订单数量, 比方一年12个月,统计出1月多少订单,二月多少订单,按照这种模式统计. 但是数据库里存放的是 timestamp 的 ...
- 扩展JS Date对象时间格式化功能
在自己JS代码中引入一下代码: Date.prototype.format =function(format) { var o = { "M+" : this.getMonth() ...
随机推荐
- 你离月薪30K还差哪些?
这类标题的文章,是不是很熟悉?你是不是冲着标题进来的? 类似这样的标题党文章,你应该看过很多,多数是泛泛而谈,没啥用- 今天老徐跟大家用几个真实案例,聊点有用的- 看完之后,你至少知道自己的差距是哪些 ...
- javascript-外观模式
外观模式笔记 1. 为一组复杂的子系统接口提供一个更高级的统一接口, 通过这个接口使得对子系统接口的访问更容易: 2. 简化底层接口的复杂性,解决浏览器兼容性问题. 3.也会用于对底层结构兼容性做 ...
- InnoDB源码分析--缓冲池(二)
转载请附原文链接:http://www.cnblogs.com/wingsless/p/5578727.html 上一篇中我简单的分析了一下InnoDB缓冲池LRU算法的相关源码,其实说不上是分析,应 ...
- HBase应用开发回顾与总结系列之三:RowKey行键生成器工具
所谓RowKey行键生成器,是指通过软件工具制定行键生成策略,并可将策略信息保存成本地策略文件,待需要时再将本地策略文件序列化成行键生成策略对象,传入数据行信息后可自动生成RowKey行键. 那么 ...
- oracle存储过程--导出数据库表的说明文档
Oracle查询表的名字和comments select a.table_name,b.comments from user_tables a,ALL_TAB_COMMENTS b where a.t ...
- 烂泥:【解决】修改LVM卷组名重启系统后,无法进入进入系统
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 一台服务器系统已经安装完毕,但是LVM的卷组vg使用的是默认的VolGroup名称,使用起来感觉不舒服,打算把这个卷组名称修改为vg. 先来查看系统中有 ...
- Android setTag()/getTag()-(转)
(转自:http://www.cnblogs.com/topcoderliu/archive/2011/06/07/2074419.html) [自己经历:要getTag前提是要有setTag] se ...
- python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- 8、FTP,二种文本传输模式
一.基本知识 1. FTP是 TCP/IP协议族 的协议之一,简称文件传输协议,主要用于远距离文件传输,如文件的上传和下载 2. 下面都是以VSFTP服务器为例 VSFTP服务器的用户有三种形式: 匿 ...
- 再不写,我怕就再也不写了-LAMP基础
hi 经历了4天大餐的洗礼,整个人都思密达了...昨天的懒,是没有原因的懒,总之就是该提笔了亲 1.Ubuntu下的LAMP配置 -----Ubuntu基础知识----- ----管理员权限 出于安全 ...