PHP simulates two date processing functions of SQLServer. It is very inconvenient to process dates in PHP, for example, to find the month of the difference between two dates? What should I do? File name: before using these two functions, date. inc. php3 is inconvenient to process the date or // In PHP, for example, to find the month of the difference between the two dates? What should I do?
// File name: date. inc. php3
// Before using these two functions, convert the date or date to the timestamp type.
// For example:
// $ Today = mktime (0, 0, 0, date ("m"), date ("d"), date ("Y "));
/***** Simulate the dateadd function in sqlserver *******
$ Part Type: string
Value range: year, month, day, hour, min, sec
Indicates the part of the date to be added.
$ N type: value
Indicates the amount to be added. you can decide which part to add based on $ part.
Negative
$ Datetime type: timestamp
Indicates the base number to be added.
Return type: timestamp
**************/
Function dateadd ($ part, $ n, $ datetime ){
$ Year = date ("Y", $ datetime );
$ Month = date ("m", $ datetime );
$ Day = date ("d", $ datetime );
$ Hour = date ("H", $ datetime );
$ Min = date ("I", $ datetime );
$ Sec = date ("s", $ datetime );
$ Part = strtolower ($ part );
$ Ret = 0;
Switch ($ part ){
Case "year ":
$ Year + = $ n;
Break;
Case "month ":
$ Month + = $ n;
Break;
Case "day ":
$ Day + = $ n;
Break;
Case "hour ":
$ Hour + = $ n;
Break;
Case "min ":
$ Min + = $ n;
Break;
Case "sec ":
$ Sec + = $ n;
Break;
Default:
Return $ ret;
Break;
}
$ Ret = mktime ($ hour, $ min, $ sec, $ month, $ day, $ year );
Return $ ret;
}
/***** Simulate the datediff function in sqlserver *******
$ Part Type: string
Value range: year, month, day, hour, min, sec
Indicates the part of the date to be added.
$ Date1, $ date2 type: timestamp
Two dates to be compared
Return type: numeric value
* ************** End *(*************/
Function datediff ($ part, $ date1, $ date2 ){
// $ Diff = $ date2-$ date1;
$ Year1 = date ("Y", $ date1 );
$ Year2 = date ("Y", $ date2 );
$ Mon2nd = date ("m", $ date2 );
$ Month1 = date ("m", $ date1 );
$ Day2 = date ("d", $ date2 );
$ Day1 = date ("d", $ date1 );
$ Hour2 = date ("d", $ date2 );
$ Hour1 = date ("d", $ date1 );
$ Min2 = date ("I", $ date2 );
$ Min1 = date ("I", $ date1 );
$ Sec2 = date ("s", $ date2 );
$ Sec1 = date ("s", $ date1 );
$ Part = strtolower ($ part );
$ Ret = 0;
Switch ($ part ){
Case "year ":
$ Ret = $ year2-$ year1;
Break;
Case "month ":
$ Ret = ($ year2-$ year1) * 12 + $ mon2s-$ month1;
Break;
Case "day ":
$ Ret = (mktime (, 0, $ mon2, $ day2, $ year2)-mktime (, 0, $ month1, $ day1, $ year1 )) /(24x3600 );
Break;
Case "hour ":
$ Ret = (mktime ($ hour2, $ mon2, $ day2, $ year2)-mktime ($ hour1, $ month1, $ day1, $ year1 )) /3600;
Break;
Case "min ":
$ Ret = (mktime ($ hour2, $ min2, 0, $ mon2, $ day2, $ year2)-mktime ($ hour1, $ min1, 0, $ month1, $ day1, $ year1)/60;
Break;
Case "sec ":
$ Ret = $ date2-$ date1;
Break;
Default:
Return $ ret;
Break;
}
Return $ ret;
}
}
Why? What should I do? // File name: date. inc. php3 // before using these two functions, you must first set the date or...