sunage001 发表于 2015-8-28 09:50:53

php时间操作

echo date("Y-m-d H:i:s")."\n";
echo date('Y-m-d G:i:s');--->2011-05-28 15:34:37
echo date("Y-m-d H:i:s",strtotime("-10 day"));//当前时间减10天
2:
函数: strtotime()
功能:将任何英文文本的时间转换为UNIX时间戳(从1970年1月1日(GMT)起经过的秒数),进行一些代数运算
  echo(strtotime("now") . "<br />");
echo(strtotime("3 October 2005") . "<br />");
echo(strtotime("+5 hours") . "<br />");
echo(strtotime("+1 week") . "<br />");
echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br />");
echo(strtotime("next Monday") . "<br />");
echo(strtotime("last Sunday"));
  3:
  函数: date()
  显示的格式: 年-月-日 小时:分钟:秒
  相关时间参数:
  a – “am” 或是 “pm”
A – “AM” 或是 “PM”
d – 几日,二位数字,若不足二位则前面补零; 如: “01&Prime; 至 “31&Prime;
D – 星期几,三个英文字母; 如: “Fri”
F – 月份,英文全名; 如: “January”
h – 12 小时制的小时; 如: “01&Prime; 至 “12&Prime;
H – 24 小时制的小时; 如: “00&Prime; 至 “23&Prime;
g – 12 小时制的小时,不足二位不补零; 如: “1&Prime; 至 12&Prime;
G – 24 小时制的小时,不足二位不补零; 如: “0&Prime; 至 “23&Prime;
i – 分钟; 如: “00&Prime; 至 “59&Prime;
j – 几日,二位数字,若不足二位不补零; 如: “1&Prime; 至 “31&Prime;
l – 星期几,英文全名; 如: “Friday”
m – 月份,二位数字,若不足二位则在前面补零; 如: “01&Prime; 至 “12&Prime;
n – 月份,二位数字,若不足二位则不补零; 如: “1&Prime; 至 “12&Prime;
M – 月份,三个英文字母; 如: “Jan”
s – 秒; 如: “00&Prime; 至 “59&Prime;
S – 字尾加英文序数,二个英文字母; 如: “th”,”nd”
t – 指定月份的天数; 如: “28&Prime; 至 “31&Prime;
U – 总秒数
w – 数字型的星期几,如: “0&Prime; (星期日) 至 “6&Prime; (星期六)
Y – 年,四位数字; 如: “1999&Prime;
y – 年,二位数字; 如: “99&Prime;
z – 一年中的第几天; 如: “0&Prime; 至 “365&Prime;
  可以自由设定显示的内容,连接符号或是显示位置,例如 date(”m-d H”) 或者date(”dmY”);?>等php中的日
  3:
  1。 计算目前时间和昨日同时间段的数据问题此问题需要知道目前的时间,以及目前时间减去24后的时间
  方法一: 使用time()和date()比如:$time=time();$tomorrow=time()+24*3600; //明日的同时间echo ‘ 4: ‘.date(‘Y:m:d H:i:s’,$tomorrow);
  $yestoday=time()+24*3600; //昨日的同时间
  echo ‘ 5: ‘.date(‘Y:m:d H:i:s’,$yestoday);
  方法二:自己写类其他语言的函数DateDiff()或者DateSubstact()
  如:
  function DateDiff ($interval, $date1,$date2)
  { // 得到两日期之间间隔的秒数
  $timedifference = strtotime($date2) – strtotime($date1);
  switch ($interval) {
  case “w”: $retval = bcdiv($timedifference ,604800); break;
  case “d”: $retval = bcdiv( $timedifference,86400); break;
  case “h”: $retval = bcdiv ($timedifference,3600); break;
  case “n”: $retval = bcdiv( $timedifference,60); break;
  case “s”: $retval = $timedifference; break;
  }
  return $retval;
  }
  function DateAdd ($interval, $number, $date)
  {
  $date_time_array = getdate($date);
  $hours = $date_time_array["hours"];
  $minutes = $date_time_array["minutes"];
  $seconds = $date_time_array["seconds"];
  $month = $date_time_array["mon"];
  $day = $date_time_array["mday"];
  $year = $date_time_array["year"];
  switch ($interval) {
  case “yyyy”: $year +=$number; break;
  case “q”: $month +=($number*3); break;
  case “m”: $month +=$number; break;
  case “y”:
  case “d”:
  case “w”: $day+=$number; break;
  case “ww”: $day+=($number*7); break;
  case “h”: $hours+=$number; break;
  case “n”: $minutes+=$number; break;
  case “s”: $seconds+=$number; break;
  }
  $timestamp = mktime($hours ,$minutes, $seconds,$month ,$day, $year);
  return $timestamp;}
  使用方法:
  Inetrval为表示要添加的时间间隔字符串表达式,例如分或天;number为表示要添加的时间间隔的个数的数值表达式;Date表示日期。
Interval(时间间隔字符串表达式)可以是以下任意值:
yyyy year年
q Quarter季度
m Month月
y Day of year一年的数
d Day天
w Weekday一周的天数
ww Week of year周
h Hour小时
n Minute分
s Second秒
w、y和d的作用是完全一样的,即在目前的日期上加一天,q加3个月,ww加7天
  我们可以将上面的代码保存为dateadd.inc文件,然后运行以下代码:
  
  include('dateadd.inc');
  $temptime = time();
  echo ' 1: '.strftime( "%Y-%m-%d %H:%M:%S",$temptime);
  $temptime = DateAdd("h" ,24,$temptime);
  echo ' 2: '.strftime( "%Y-%m-%d %H:%M:%S",$temptime);
  echo ' 3: '.date('Y:m:d H:i:s');
  $time=time();
  $tomorrow=time()+24*3600;
  echo ' 4: '.date('Y:m:d H:i:s',$tomorrow);
  $yestoday=time()+24*3600;
  echo ' 5: '.date('Y:m:d H:i:s',$yestoday);
  ?>
页: [1]
查看完整版本: php时间操作