| 0. |
|
| 1. | /// <summary> |
| 2. | /// same common params as the VBScript DateDiff: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsfctdatediff.asp |
| 3. | /// /*Sample Code: |
| 4. | /// * System.DateTime dt1 = new System.DateTime(1974,12,16); |
| 5. | /// * System.DateTime dt2 = new System.DateTime(1973,12,16); |
| 6. | /// * Page.Response.Write(Convert.ToString(DateDiff("t", dt1, dt2))); |
| 7. | /// * */ |
| 8. | /// </summary> |
| 9. | /// <param name="howtocompare"></param> |
| 10. | /// <param name="startDate"></param> |
| 11. | /// <param name="endDate"></param> |
| 12. | /// <returns></returns> |
| 13. | private double DateDiff(string howtocompare, System.DateTime startDate, System.DateTime endDate) { |
| 14. | double diff=0; |
| 15. | try { |
| 16. | System.TimeSpan TS = new System.TimeSpan(startDate.Ticks-endDate.Ticks); |
| 17. | #region converstion options |
| 18. | switch (howtocompare.ToLower()) { |
| 19. | case "m": |
| 20. | diff = Convert.ToDouble(TS.TotalMinutes); |
| 21. | break; |
| 22. | case "s": |
| 23. | diff = Convert.ToDouble(TS.TotalSeconds); |
| 24. | break; |
| 25. | case "t": |
| 26. | diff = Convert.ToDouble(TS.Ticks); |
| 27. | break; |
| 28. | case "mm": |
| 29. | diff = Convert.ToDouble(TS.TotalMilliseconds); |
| 30. | break; |
| 31. | case "yyyy": |
| 32. | diff = Convert.ToDouble(TS.TotalDays/365); |
| 33. | break; |
| 34. | case "q": |
| 35. | diff = Convert.ToDouble((TS.TotalDays/365)/4); |
| 36. | break; |
| 37. | default: |
| 38. | //d |
| 39. | diff = Convert.ToDouble(TS.TotalDays); |
| 40. | break; |
| 41. | } |
| 42. | #endregion |
| 43. | } catch(Exception e) { |
| 44. | diff = -1; |
| 45. | } |
| 46. | return diff; |
| 47. | } |
| 48. |
|