php warnings removed
[mirrors/Kyberia-bloodline.git] / wwwroot / inc / smarty / node_methodz / function.date_diff.php
CommitLineData
2387f6d1
DH
1<?php
2/*
3* Smarty plugin
4* -------------------------------------------------------------
5* Type: function
6* Name: date_diff
7* Version: 2.0
8* Date: June 22, 2008
9* Author: Matt DeKok
10* Purpose: factor difference between two dates in days, weeks,
11* or years
12* Input: date1 = "mm/dd/yyyy" or "yyyy/mm/dd" or "yyyy-mm-dd"
13* date2 = "mm/dd/yyyy" or "yyyy/mm/dd" or "yyyy-mm-dd" or $smarty.now
14* assign = name of variable to assign difference to
15* interval = "days" (default), "weeks", "years"
16* Examples: {date_diff date1="5/12/2003" date2=$smarty.now interval="weeks"}
17* {date_diff date1="5/12/2003" date2="5/10/2008" assign="diff"}{$diff}
18* -------------------------------------------------------------
19*/
20function smarty_function_date_diff($params, &$smarty) {
21 $date1 = mktime(0,0,0,1,1,2000);
22 $date2 = mktime(0,0,0,date("m"),date("d"),date("Y"));
23 $assign = null;
24 $interval = "days";
25
26 extract($params);
27
28 $i = 1/60/60/24;
29 if($interval == "weeks") {
30 $i = $i/7;
31 } elseif($interval == "years") {
32 $i = $i/365.25;
33 }
34
35 $date1 = ((is_string($date1))?strtotime($date1):$date1);
36 $date2 = ((is_string($date2))?strtotime($date2):$date2);
37
38 if($assign != null) {
39 $smarty->assign($assign,floor(($date2 - $date1)*$i));
40 } else {
41 return floor(($date2 - $date1)*$i);
42 }
43 }
44 ?>
This page took 0.193812 seconds and 4 git commands to generate.