PHP有关时间戳的操作

我们在利用PHP开发程序的时候,总会遇到一些比较时间的困扰,现在我列举一下几种我们开发过程中常用的操作时间戳的实例:

<?php
//当天的开始(时间戳)和结束(时间戳)
$date = date( "Y-m-d" ); //如‘2012-10-31‘
list( $year, $month, $day ) = explode( ‘-‘, $date ); //分割后$year = ‘2012‘, $month = ‘10‘, $day = ‘31‘

//将字符串转换成整型
$year = intval( $year );
$month = intval( $month );
$day = intval( $day );

$start_time = mktime( 0, 0, 0, $month, $day, $year ); //当天的起始时间(时间戳),如2012-10-30 00:00:00的时间戳
$end_time   = mktime( 23, 59, 59, $month, $day, $year ); // 当天最后时间(时间戳),如2012-10-31:23:59:59的时间戳,也可以是$end_time = mktime( 0, 0, 0, $month, $day+1, $year ) - 1.

//当月的第一天(如"2012-10-01")和最后一天(如"2012-10-30")
$date = date("Y-m-d");
$date = "2012-10-2";
$month_first = date("Y-m-01", strtotime($date)); //当月的第一天
$month_last  = date("Y-m-d", strtotime("$month_first +1 month -1 day"));//当月的最后一天,strtotime: 以$month_first的时间为基准,(+1 month)月份加1,(-1 day)天数-1(刚好是上个月的最后一天,strtotime返回的是时间戳,用date函数转格式)
echo $month_first."<br/>".$month_last."<br/>";

$date = date( "Y-m-d" );
list( $year, $month, $day ) = explode( ‘-‘, $date ); //分割后$year = ‘2012‘, $month = ‘10‘, $day = ‘31‘

//将字符串转换成整型
$year = intval( $year );
$month = intval( $month );
$day = intval( $day );
$month_day = date( "t", mktime( 0, 0, 0, $month, $day, $year ) );//该月一共有几天
echo $month_day."<br/>";
$month_first = date( "Y-m-d", mktime(0, 0, 0, $month, 1, $year) );
$month_last = date( "Y-m-d", mktime(0, 0, 0, $month, $month_day, $year) );//该月的总天数其实就是该的最后一天
echo $month_first."<br/>".$month_last."<br/>";
时间: 2024-10-12 03:52:47

PHP有关时间戳的操作的相关文章

iOS 本地时间、UTC时间、时间戳等操作

//获得当前时间并且转为字符串 - (NSString *)dateTransformToTimeString { NSDate *currentDate = [NSDate date];//获得当前时间为UTC时间 2014-07-16 07:54:36 UTC (UTC时间比标准时间差8小时) //转为字符串 NSDateFormatter*df = [[NSDateFormatter alloc]init];//实例化时间格式类 [df setDateFormat:@"yyyy-MM-dd

iOS 时间戳操作

我们在开发中会遇到各种对于时间戳的操作,这里分享下比较常用的几种. 1.当前时间戳 1 NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[[NSDate date]timeIntervalSince1970]]; 2 NSLog(@"现在时间戳%@",timeSp); 2.今天凌晨时间戳  (直接复制粘贴该方法即可,返回值即为今天凌晨时间戳) 1 #pragma mark 今天凌晨时间戳 2 3

JMeter实现唯一参数生成不重复时间戳

现象: 使用jmeter做接口压测时,总会遇到压测时,提示不允许重复id或提示订单不允许重复现象,那么如何解决呢? 原料工具 jmeter4.0 本地准备好接口服务 思路: 单个接口,小批量接口,一般以时间戳或者是日期格式的数据作为接口测试参数,解决参数化问题: 大批量接口压测时,这上面的时间戳方式是不行的,秒级请求或者毫秒级别的请求不能满足大批量接口压测需求,这时候需要用比毫秒小的单位纳秒再做字符串拼接 时间戳函数操作: 1.通过函数助手,生成一个_time 函数: 2.如果参数为时间戳,那公

JavaScript基础课程笔记

JS入门基础_热身课程 写JS的步骤 希望把某个元素移除的实现 获取元素 事件 如何添加事件 函数 测试 变量 JS的属性操作 HTML属性操作 属性读写操作的注意事项 []中括号的使用 条件判断 数组 for应用 cssText文本格式化与属性操作 按钮点击之后,不再重复功能的思路 this指向及this应用 自定义属性.索引值 自定义属性的读写操作 自定义属性应用 获取自身递增数字及匹配数组内容 添加索引值.匹配数组.HTML元素 数据类型.类型转换 数据类型 JS数据类型转换 JS方法:N

[转载] HBase入门

转载地址:https://dxer.github.io/2016/03/18/hbase/ HBase一些基本概念 1.Row key 行主键,在对HBase进行查询时候只能依靠Row key,HBase不支持条件查询等类似于一些主流数据库的查询方式,读取记录只能依赖行主键以及进行全局扫面,可以将行主键想象成主流数据库查询过程中用到的主键(例如,id). 2.Column Family 列族,可以将列族想象成日常主流数据库中的表结构的所有列的一个大管家,列族中存储了所有列的名称,整个表包括多少列

部署Replica Sets及查看相关配置

MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余.多机器中同一时刻只有一台是用于写操作.正是由于这个情况,为MongoDB 提供了数据一致性的保障.担当Primary 角色的机器能把读操作分发给slave. MongoDB高可用可分为两种: Master-Slave主从复制: 只需要在某一个服务器启动时加上--master参数,而另一个服务加上--slave与--source参数,即可实现同步.MongoDB的最新版本已经不再推荐此方案. Replica Sets复制集 Mon

Python自动化运维之22、JAVAScript

一.简介 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理.学习了html和css做出来的网页只是静态的网页,如果需要网页出现各种效果,那么需要学习一门新的语言JavaScript和DOM才能让网页编程动态. 二.代码存放位置 理论上放在body和head中都可以,但是推荐放在body代码块底部,因为Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致

SQL Server 2008新特性——更改跟踪

在大型的数据库应用中,经常会遇到部分数据的脱机和多个数据库的合并问题.比如现在有一个全省范围使用的应用程序,每个市都部署了单独的相同的应用程序服务器和数据库服务器,每个月需要将全省所有市的数据全部汇总起来用于出全省的报表,这是一种很常见的数据库合并问题.再比如我们做了一个SmartClient的应用程序,每个客户端都有应用程序和数据库,另外还有一个中心数据库用于汇总所有客户端的数据.每个智能客户端上都可以对自己的数据库进行增删改查,一旦智能客户端连接到网络上时,系统就将客户端数据库中的数据更改全

HBase学习总结(3):HBase的数据模型及工作机制

一.HBase数据模型 HBase模式里的逻辑实体包括: (1)表(table):HBase用表来组织数据.表名是字符串(String),由可以在文件系统路径里使用的字符组成. (2)行(row):在表里,数据按行存储.行由行键(rowkey)唯一标识.行键没有数据类型,总是视为字节数组byte []. (3)列族(column family):行里的数据按照列族分组,列族也影响到HBase数据的物理存放,因此,它们必须事前定义并且不轻易修改.表中每行拥有相同列族,尽管行不需要在每个列族里存储数