f_init_calendar_array.srf 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. $PBExportHeader$f_init_calendar_array.srf
  2. global type f_init_calendar_array from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_init_calendar_array (long arg_year, ref s_calendar arg_s_calendar_array[])
  6. end prototypes
  7. global function integer f_init_calendar_array (long arg_year, ref s_calendar arg_s_calendar_array[]);//初始化月份
  8. string ins_year
  9. long ls_year
  10. boolean ifyear=false
  11. ls_year=arg_year
  12. if mod(ls_year,4)<>0 then
  13. ifyear=false
  14. elseif mod(ls_year,100)<>0 then
  15. ifyear=true
  16. elseif mod(ls_year,400)<>0 then
  17. ifyear=false
  18. else
  19. ifyear=true
  20. end if
  21. ins_year=string(ls_year)
  22. arg_s_calendar_array[1].cmonth=ls_year * 100 + 1
  23. arg_s_calendar_array[1].sdate=datetime(date(ins_year + '-01-01'),time(0))
  24. arg_s_calendar_array[1].edate=datetime(date(ins_year + '-01-31'),time(23:59:59))
  25. arg_s_calendar_array[2].cmonth=ls_year * 100 + 2
  26. arg_s_calendar_array[2].sdate=datetime(date(ins_year + '-02-01'),time(0))
  27. if ifyear then
  28. arg_s_calendar_array[2].edate=datetime(date(ins_year + '-02-29'),time(23:59:59))
  29. else
  30. arg_s_calendar_array[2].edate=datetime(date(ins_year + '-02-28'),time(23:59:59))
  31. end if
  32. arg_s_calendar_array[3].cmonth=ls_year * 100 + 3
  33. arg_s_calendar_array[3].sdate=datetime(date(ins_year + '-03-01'),time(0))
  34. arg_s_calendar_array[3].edate=datetime(date(ins_year + '-03-31'),time(23:59:59))
  35. arg_s_calendar_array[4].cmonth=ls_year * 100 + 4
  36. arg_s_calendar_array[4].sdate=datetime(date(ins_year + '-04-01'),time(0))
  37. arg_s_calendar_array[4].edate=datetime(date(ins_year + '-04-30'),time(23:59:59))
  38. arg_s_calendar_array[5].cmonth=ls_year * 100 + 5
  39. arg_s_calendar_array[5].sdate=datetime(date(ins_year + '-05-01'),time(0))
  40. arg_s_calendar_array[5].edate=datetime(date(ins_year + '-05-31'),time(23:59:59))
  41. arg_s_calendar_array[6].cmonth=ls_year * 100 + 6
  42. arg_s_calendar_array[6].sdate=datetime(date(ins_year + '-06-01'),time(0))
  43. arg_s_calendar_array[6].edate=datetime(date(ins_year + '-06-30'),time(23:59:59))
  44. arg_s_calendar_array[7].cmonth=ls_year * 100 + 7
  45. arg_s_calendar_array[7].sdate=datetime(date(ins_year + '-07-01'),time(0))
  46. arg_s_calendar_array[7].edate=datetime(date(ins_year + '-07-31'),time(23:59:59))
  47. arg_s_calendar_array[8].cmonth=ls_year * 100 + 8
  48. arg_s_calendar_array[8].sdate=datetime(date(ins_year + '-08-01'),time(0))
  49. arg_s_calendar_array[8].edate=datetime(date(ins_year + '-08-31'),time(23:59:59))
  50. arg_s_calendar_array[9].cmonth=ls_year * 100 + 9
  51. arg_s_calendar_array[9].sdate=datetime(date(ins_year + '-09-01'),time(0))
  52. arg_s_calendar_array[9].edate=datetime(date(ins_year + '-09-30'),time(23:59:59))
  53. arg_s_calendar_array[10].cmonth=ls_year * 100 + 10
  54. arg_s_calendar_array[10].sdate=datetime(date(ins_year + '-10-01'),time(0))
  55. arg_s_calendar_array[10].edate=datetime(date(ins_year + '-10-31'),time(23:59:59))
  56. arg_s_calendar_array[11].cmonth=ls_year * 100 + 11
  57. arg_s_calendar_array[11].sdate=datetime(date(ins_year + '-11-01'),time(0))
  58. arg_s_calendar_array[11].edate=datetime(date(ins_year + '-11-30'),time(23:59:59))
  59. arg_s_calendar_array[12].cmonth=ls_year * 100 + 12
  60. arg_s_calendar_array[12].sdate=datetime(date(ins_year + '-12-01'),time(0))
  61. arg_s_calendar_array[12].edate=datetime(date(ins_year + '-12-31'),time(23:59:59))
  62. return 1
  63. //cmonth
  64. //sdate
  65. //edate
  66. end function