php日期所在月的第一天日期和最后一天

 更新时间:2016年11月25日 16:01  点击:2088

php日期所在月的第一天日期和最后一天

/**
  * 日期所在月的第一天日期
  * @return int
  */
 public function getFirstDayOfMonth ($format = 'timestamp') {
  $day = $this->getPart('yy') . '-' . $this->getPart('mm') .

'-' . '01';
  if ($format=='timestamp') {
   $day = (int)$this->toTimeStamp($day);
  }
  return $day;
 }
 /**
  * 日期所在月的最后一天日期
  * @return int
  */
 public function getLastDayOfMonth ($format = 'timestamp') {
  $day = $this->getPart('yy') . '-' . $this->getPart('mm') .

'-' . $this->daysOfMonth();
  if ($format=='timestamp') {
   $day = (int)$this->toTimeStamp($day);
  }
  return $day;
 }

php ip获取与判断IP分段类

class Ip {

 /**
  * 取IP
  * @return string
  */
 public static function get() {
  if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER

['HTTP_CLIENT_IP']!='unknown') {
   $ip = $_SERVER['HTTP_CLIENT_IP'];
  } elseif ($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER

['HTTP_X_FORWARDED_FOR']!='unknown') {
   $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  } else {
   $ip = $_SERVER['REMOTE_ADDR'];
  }
  return $ip;
 }
 
 /**
  * IP转成整形数值
  * @param string $ip IP
  * @return int
  */
 public static function ipToInt($ip) {
  $ips = explode('.',$ip);
  if (count($ips)>=4) {
   $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]

*256+$ips[3];//根据IP,a,b,c类进行计算
  } else {
   throw new Exception('ip is error');
  }
  return $int;
 }
 
 /**
  * 判断IP是否在一个IP段内
  * @param string $startIp 开始IP
  * @param string $endIp 结束IP
  * @param string $ip IP
  * @return bool
  */
 public static function isIn($startIp, $endIp, $ip) {
  $start = Ip::ipToInt($startIp);
  $end = Ip::ipToInt($endIp);
  $ipInt = Ip::ipToInt($ip);
  $result = false;
  if ($ipInt>=$start && $ipInt<=$end) {
   $result = true;
  }
  return $result;
 }
}

php 格式化输出日期函数

public function format ($formatTo='standard',$timestamp = NULL) {
  if ($timestamp!==NULL) {
   $source = $timestamp;
   if (!$source) {
    return '';
   }
  } else {
   $source = $this->timestamp;
  }
  
  switch (strtolower($formatTo))
  {
   case 'chinese' : //中文格式串“YYYY年MM月DD日

HH:MM:SS”
    $result = date("Y年m月d日 H:i:s", $source);

break ;
   case 'cdate':
    $result = date("Y年m月d日", $source); break

;
   case 'date':
    $result = date("Y-m-d", $source); break ;
   case 'time':
    $result = date("H:i:s", $source); break ;
   case 'standard' : //标准格式串“YYYY-MM-DD HH:MM:SS


    $result = date("Y-m-d H:i:s", $source);

break;
   default :
    $result = date($formatTo, $source);
  }
  return $result;
 }

php 时间转换静态方法

/**
  * 时间转换静态方法
  * @param string $formatTo 返回格式
  * @param mixed $source 时间源
  * @return string
  */ 
 public static function transform($formatTo = 'date',$source) {
  if (!is_numeric($source)) {
   try {
    $source = MyDate::toTimeStamp($source);
   }catch (Exception $e){
    
   }
  }
  if ($formatTo!='timestamp') {
   switch (strtolower($formatTo))
   {
    case 'chinese' : //中文格式串“YYYY年MM月DD

日 HH:MM:SS”
     $result = date("Y年m月d日 H:i:s",

$source); break ;
    case 'cdate':
     $result = date("Y年m月d日",

$source); break ;
    case 'date':
     //$result = $source;break;
     $result = date("Y-m-d", $source);

break ;
    case 'time':
     $result = date("H:i:s", $source);

break ;
    case 'standard' : //标准格式串“YYYY-MM-DD

HH:MM:SS”
     $result = date("Y-m-d H:i:s",

$source); break;
    case 'noyear' :
     $result = date("m-d",$source);break;
    default :
     $result = date($formatTo, $source);
   }
  } else {
   $result = $source;
  }
  return $result;
 }

 /**
  * 时间相减运算
  * @param string $source 原时间
  * @param string $dest 目标时间
  * @param string $unit 单位
  * @param bool $roundIt 是否将结果四舍五入
  * @return int
  */
 public static function compare($source, $dest, $unit, $roundIt =

false) {
  if ($source&&$dest)
  {
   if (is_object($source) && get_class($source)

=='MyDate') {
    $source = $source->getTimeStamp();
   }
   if (is_object($dest) && get_class($dest)=='MyDate')

{
    $dest = $dest->getTimeStamp();
   }
   if (!is_numeric($source)) {
    $source = MyDate::toTimeStamp($source);
   }
   if (!is_numeric($dest)) {
    $dest = MyDate::toTimeStamp($dest);
   }
   $result = $source - $dest ;
   if ($result!=0) {
    switch ($unit) {
     case 'yy' : $result =

$result/31536000; break; //年
     case 'mm' : $result =

$result/2592000; break; //月
     case 'dd' : $result = $result/86400; 

break; //日
     case 'h'  : $result = $result/3600; 

 break; //时
     case 'm'  : $result = $result/60; 

 break; //分
     default   : break;   

     //秒
    }
   }
   if ($roundIt) {
    $result = intval(round($result));
   }
  } else {
   $result = false ;
  }
  return $result;
 }

 

php 日期时间相加减

/**
  * 时间相加运算
  * @param int $increment 增量
  * @param string $unit 单位
  * @param string $returnFormat 返回的时间格式
  * @return void
  */
 public function add($increment, $unit='s', $returnFormat = NULL) {
  $increment = intval($increment);
  $source = $this->timestamp;
  switch ($unit)
  {
   case 'yy' : $result = $source + $increment *

31536000; break; //年
   case 'mm' : $result = $source + $increment *

2592000; break; //月
   case 'dd' : $result = $source + $increment * 86400; 

 break; //日
   case 'h'  : $result = $source + $increment * 3600; 

 break; //时
   case 'm'  : $result = $source + $increment * 60; 

 break; //分
   default   : $result = $source + $increment;  

  break; //秒
  }
  if ($returnFormat) {
   $result = $this->format($returnFormat, $result);
  }
  return $result;
 }

 

[!--infotagslink--]

相关文章

  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • php计算两个日期相差天数的方法

    本文实例讲述了php计算两个日期相差天数的方法。...2015-03-15
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • 非常全面的php日期时间运算汇总

    实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
  • vue开发之moment的介绍与使用

    moment是一款多语言支持的日期处理类库, 在vue中如何使用呢?这篇文章主要给大家介绍了关于vue之moment使用的相关资料,需要的朋友可以参考下...2021-05-13
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • C#实现将字符串转换成日期格式的方法

    这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25
  • php根据日期或时间戳获取星座信息和生肖等信息

    分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下: /** 判断干支、生肖和星座 */ function birthext($birth){ if(strstr($birth,'-')===false&&strlen($bi...2015-10-21
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • php微信公众账号开发之五个坑(二)

    这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
  • java8时间 yyyyMMddHHmmss格式转为日期的代码

    这篇文章主要介绍了java8时间 yyyyMMddHHmmss格式转为日期的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • PHP如何通过date() 函数格式化显示时间

    这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单

    首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31
  • C#判断日期是否到期的方法

    这篇文章主要介绍了C#判断日期是否到期的方法,是C#程序设计中非常实用的技巧,需要的朋友可以参考下...2020-06-25
  • C#比较日期的方法总结

    在本篇内容中小编给大家整理了关于C#比较日期的方法和相关知识点,有需要的朋友们学习下。...2020-06-25
  • sql通过日期判断年龄函数的示例代码

    这篇文章主要介绍了sql通过日期判断年龄函数,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-07-16