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: date. inc. php3 before using these two functions, you must first convert the date or date to the timestamp type. For example: $ todaymktime (0, 0, 0, date (m), date (d), date (Y); ***** simulate dateadd SQL Server in sqlserver
// It is inconvenient to process dates in PHP, for example, to find the month with a different date? 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;
}
}