$PBExportHeader$f_init_calendar_array.srf global type f_init_calendar_array from function_object end type forward prototypes global function integer f_init_calendar_array (long arg_year, ref s_calendar arg_s_calendar_array[]) end prototypes global function integer f_init_calendar_array (long arg_year, ref s_calendar arg_s_calendar_array[]);//初始化月份 string ins_year long ls_year boolean ifyear=false ls_year=arg_year if mod(ls_year,4)<>0 then ifyear=false elseif mod(ls_year,100)<>0 then ifyear=true elseif mod(ls_year,400)<>0 then ifyear=false else ifyear=true end if ins_year=string(ls_year) arg_s_calendar_array[1].cmonth=ls_year * 100 + 1 arg_s_calendar_array[1].sdate=datetime(date(ins_year + '-01-01'),time(0)) arg_s_calendar_array[1].edate=datetime(date(ins_year + '-01-31'),time(23:59:59)) arg_s_calendar_array[2].cmonth=ls_year * 100 + 2 arg_s_calendar_array[2].sdate=datetime(date(ins_year + '-02-01'),time(0)) if ifyear then arg_s_calendar_array[2].edate=datetime(date(ins_year + '-02-29'),time(23:59:59)) else arg_s_calendar_array[2].edate=datetime(date(ins_year + '-02-28'),time(23:59:59)) end if arg_s_calendar_array[3].cmonth=ls_year * 100 + 3 arg_s_calendar_array[3].sdate=datetime(date(ins_year + '-03-01'),time(0)) arg_s_calendar_array[3].edate=datetime(date(ins_year + '-03-31'),time(23:59:59)) arg_s_calendar_array[4].cmonth=ls_year * 100 + 4 arg_s_calendar_array[4].sdate=datetime(date(ins_year + '-04-01'),time(0)) arg_s_calendar_array[4].edate=datetime(date(ins_year + '-04-30'),time(23:59:59)) arg_s_calendar_array[5].cmonth=ls_year * 100 + 5 arg_s_calendar_array[5].sdate=datetime(date(ins_year + '-05-01'),time(0)) arg_s_calendar_array[5].edate=datetime(date(ins_year + '-05-31'),time(23:59:59)) arg_s_calendar_array[6].cmonth=ls_year * 100 + 6 arg_s_calendar_array[6].sdate=datetime(date(ins_year + '-06-01'),time(0)) arg_s_calendar_array[6].edate=datetime(date(ins_year + '-06-30'),time(23:59:59)) arg_s_calendar_array[7].cmonth=ls_year * 100 + 7 arg_s_calendar_array[7].sdate=datetime(date(ins_year + '-07-01'),time(0)) arg_s_calendar_array[7].edate=datetime(date(ins_year + '-07-31'),time(23:59:59)) arg_s_calendar_array[8].cmonth=ls_year * 100 + 8 arg_s_calendar_array[8].sdate=datetime(date(ins_year + '-08-01'),time(0)) arg_s_calendar_array[8].edate=datetime(date(ins_year + '-08-31'),time(23:59:59)) arg_s_calendar_array[9].cmonth=ls_year * 100 + 9 arg_s_calendar_array[9].sdate=datetime(date(ins_year + '-09-01'),time(0)) arg_s_calendar_array[9].edate=datetime(date(ins_year + '-09-30'),time(23:59:59)) arg_s_calendar_array[10].cmonth=ls_year * 100 + 10 arg_s_calendar_array[10].sdate=datetime(date(ins_year + '-10-01'),time(0)) arg_s_calendar_array[10].edate=datetime(date(ins_year + '-10-31'),time(23:59:59)) arg_s_calendar_array[11].cmonth=ls_year * 100 + 11 arg_s_calendar_array[11].sdate=datetime(date(ins_year + '-11-01'),time(0)) arg_s_calendar_array[11].edate=datetime(date(ins_year + '-11-30'),time(23:59:59)) arg_s_calendar_array[12].cmonth=ls_year * 100 + 12 arg_s_calendar_array[12].sdate=datetime(date(ins_year + '-12-01'),time(0)) arg_s_calendar_array[12].edate=datetime(date(ins_year + '-12-31'),time(23:59:59)) return 1 //cmonth //sdate //edate end function