日期时间 FUNCTION

来源:互联网 发布:中国离婚率知乎 编辑:程序博客网 时间:2024/06/06 09:42
*----------------------------*时间差*----------------------------SD_DATETIME_DIFFERENCEL_TO_TIME_DIFF*----------------------------*取当前时间*----------------------------GET TIMEGET RUN TIME FIELD (INT)"计算时间差 --convert time stamp t2 time zone sy-zonlo into date dat2 time tim2.  call function 'SWI_DURATION_DETERMINE'    exporting      start_date = dat1      end_date   = dat2      start_time = tim1      end_time   = tim2    importing      duration   = runtime.  "秒  call function 'MONI_TIME_CONVERT'    exporting      ld_duration        = runtime    importing      lt_output_duration = outtime. "格式化为 HH:MM:SS*----------------------------*日期*----------------------------*日期有效性DATE_CHECK_PLAUSIBILITY*根据日期返回工厂日历日期:输入三个参数,日期、工厂日历版本和纠正选项,其中纠正选项为“+”,*则当输入日期是休息日时,返回其后的第一个工作日,纠正选项为“-”,则当输入日期时休息日时,返回其前最后一个工作日。*输出三个参数,日期、工厂日期和纠正结果,其中日期就是输入值、工厂时期时计算获得的日期、纠正结果的意义与纠正选项相同,*但是如果输入日期就是工作日,则纠正结果为空。DATE_CONVERT_TO_FACTORYDATE*向指定的日期上增加若干个月,并返回结果日期*如果 MONTHS 指定为负数,则相当于在原始日期基础上减去若干个月。*如果 MONTHS 指定为小数,则按照四舍五入的方法转换成整数后再计算,不会把小数再转换成天。*对于日期为月末的情况,该函数会自动转换为目标月的月末日期。*例如,2008-03-31 加上一个月就是 2008-04-30,减去一个月就是 2008-02-29。BKK_ADD_MONTH_TO_DATE*获得一个月的最后一天RP_LAST_DAY_OF_MONTHSLAST_DAY_OF_MONTHS*上月最后一天CALL FUNCTION 'FIMA_DATE_CREATE'  EXPORTING    i_date                  = sy-datum    i_months                = '-1'    i_set_last_day_of_month = 'X'  IMPORTING    e_date                  = zdate3.*检查日期合法性DATE_CHECK_PLAUSIBILITY*判断某天是否是假日 HOLIDAY_CHECK_AND_GET_INFO*年月选择POPUP_TO_SELECT_MONTH*内外码转换CONVERT_DATE_TO_EXTERNALCONVERT_DATE_TO_INTERNAL----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------函数名称 (内页-点击名称可查看操作)函数说明备注FIMA_DATE_CREATERP_CALC_DATE_IN_INTERVAL获取查询日期前、后的年、月、日 LAST_DAY_OF_MONTHSRP_LAST_DAY_OF_MONTHSBKK_GET_MONTH_LASTDAY获取查询日期最后一天的日期 CCM_GO_BACK_MONTHS获取查询日期过去N月的日期 MONTH_PLUS_DETERMINE获取查询日期未来N月的日期    DATE_GET_WEEK获取查询日期该年的第几周输出格式:YYYYWWWEEK_GET_FIRST_DAY获取查询周数的第一天 DAY_IN_WEEK获取查询日期该天是星期几 GET_WEEK_INFO_BASED_ON_DATE获取查询日期该年的第几周和这周周一、周日日期周起始日是周一HR_GBSSP_GET_WEEK_DATES获取查询日期该年的第几周和这周周一、周日日期,该天是周几周起始日是周日   DATE_CHECK_PLAUSIBILITY检查日期有效性SY-SUBRC = 0 有效TIME_CHECK_PLAUSIBILITY检查时间有效性SY-SUBRC = 0 有效HOLIDAY_CHECK_AND_GET_INFO判断某天是否是假日    CONVERT_DATE_TO_INTERNAL将标准日期格式转换为数字格式 CONVERT_DATE_TO_EXTERNAL将数字日期格式转换为系统日期格式 DATE_CONVERT_TO_FACTORYDATE将查询日期转为工厂日历日期    HR_99S_INTERVAL_BETWEEN_DATES获取两日期间的:天数、周数、月数、年数、期间月份开始截止日期 FIMA_DAYS_AND_MONTHS_AND_YEARS计算两日期之间间隔的天数 FIMA_DATE_COMPARE比较两个日期大小返回:GT、EQ、LT等SD_DATETIME_DIFFERENCE两日期的时间差 HRVE_CONVERT_TIME时间:12/24小时制转换    MONTH_NAMES_GET获取所有的月份名字 WEEKDAY_GET获取所有的星期名字 DAY_ATTRIBUTES_GET查看日期属性 包括:该日期是星期几,第几天(周2=2),是不是公共假期等需要输入国家日历   F4_DATE弹出日历对话框,供用户选择日期 F4_CLOCK弹出时间对话框,供用户选择时间    POPUP_TO_SELECT_MONTH弹出选择年和月的对话框 POPUP_CALENDAR_SDB弹出选择周的对话框    GET_CURRENT_YEAR获得当前的财政年(fiscal year) FIRST_DAY_IN_PERIOD_GET获得期间首日 LAST_DAY_IN_PERIOD_GET获得期间末日 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------FIMA_DATE_CREATE 函数获取输入日期前、后的年、月、日DATA: date TYPE vtbbewe-dvalut,      flag TYPE trff_flg,      days TYPE trff_type_n_2. CALL FUNCTION 'FIMA_DATE_CREATE'  EXPORTING    i_date                  = '20140101' "输入日期    i_flg_end_of_month      = ' '    i_years                 = 2       "两年后的日期. 即输入日期的年加2所得日期,可为负数,表示前两年    i_months                = 1       "一个月后的日期.即输入日期的月加1所得日期,可为负数,表示前一个月    i_days                  = 23      "23天后的日期。可为负数,表示23天前的日期    i_calendar_days         = 10      "10天后的日历。同I_DAYS参数。    i_set_last_day_of_month = 'X'     "返回的日期为当前月份的最后一天  IMPORTING    e_date                  = date    "返回的日期为当前月份的最后一天    e_flg_end_of_month      = flag    "如果输入参数I_SET_LAST_DAY_OF_MONTH设置’X’了,则返回值为’X’。    e_days_of_i_date        = days.   "返回输入日期的i_calendar_days字段与I_DAYS字段的和。--------------------------------------------------------------------------------------------------------RP_CALC_DATE_IN_INTERVAL 函数获取输入日期前、后的年、月、日DATA calc_date TYPE p0001-begda. CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'  EXPORTING    date      = '20140101'    "输入日期    days      = 10            "天数    months    = 0             "月数    signum    = '+'           "+号:表示 N天/月/年后的日期, -号:表示过去的日期    years     = 0             "年数  IMPORTING    calc_date = calc_date.    "返回结果:10天后的日期(2014.01.11)--------------------------------------------------------------------------------------------------------LAST_DAY_OF_MONTHS 函数获取输入日期最后一天的日期DATA date TYPE sy-datum. CALL FUNCTION 'LAST_DAY_OF_MONTHS'  EXPORTING    day_in            = '20140101'     "输入日期  IMPORTING    last_day_of_month = date           "返回日期:20140131  EXCEPTIONS    day_in_no_date    = 1    OTHERS            = 2.--------------------------------------------------------------------------------------------------------RP_LAST_DAY_OF_MONTHS 函数获取输入日期最后一天的日期DATA date TYPE sy-datum. CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'  EXPORTING    day_in            = '20140101'     "输入日期  IMPORTING    last_day_of_month = date           "返回日期:20140131  EXCEPTIONS    day_in_no_date    = 1    OTHERS            = 2.--------------------------------------------------------------------------------------------------------BKK_GET_MONTH_LASTDAY 函数获取输入日期最后一天的日期DATA date TYPE sy-datum. CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'  EXPORTING    i_date = '20140101'   "输入日期  IMPORTING    e_date = date.        "返回日期:20140131--------------------------------------------------------------------------------------------------------CCM_GO_BACK_MONTHS 函数获取输入日期过去N月的日期DATA date TYPE sy-datum. CALL FUNCTION 'CCM_GO_BACK_MONTHS'  EXPORTING    currdate   = '20140101'   "输入日期    backmonths = 3            "过去月数  IMPORTING    newdate    = date.        "返回日期:20131001--------------------------------------------------------------------------------------------------------MONTH_PLUS_DETERMINE 函数获取输入日期后来N月的日期DATA date TYPE sy-datum. CALL FUNCTION 'MONTH_PLUS_DETERMINE'  EXPORTING    months  = 3    olddate = '20140101'   "输入日期  IMPORTING    newdate = date.        "返回日期:20140401--------------------------------------------------------------------------------------------------------DATE_GET_WEEK 函数获取输入日期该年的周数,输出格式为:YYYYWW。DATA week TYPE scal-week. CALL FUNCTION 'DATE_GET_WEEK'  EXPORTING    date         = '20140101'   "输入日期  IMPORTING    week         = week         "返回周数:201401  EXCEPTIONS    date_invalid = 1    OTHERS       = 2.--------------------------------------------------------------------------------------------------------WEEK_GET_FIRST_DAY 函数获取输入周数的第一天DATA date TYPE sy-datum. CALL FUNCTION 'WEEK_GET_FIRST_DAY'  EXPORTING    week         = '201401'   "输入周  IMPORTING    date         = date       "返回该周第一天(周一):2013.12.30  EXCEPTIONS    week_invalid = 1    OTHERS       = 2.--------------------------------------------------------------------------------------------------------DAY_IN_WEEK 函数获取输入日期该天是星期几/周几DATA wotnr TYPE p. CALL FUNCTION 'DAY_IN_WEEK'  EXPORTING    datum = '20140101'  "输入日期  IMPORTING    wotnr = wotnr.      "返回:3 =》星期三/周三--------------------------------------------------------------------------------------------------------GET_WEEK_INFO_BASED_ON_DATE 函数获取输入日期该年的周数和这周周一、周日日期(周起始日是周一)DATA: week   TYPE scal-week ,      monday TYPE sy-datum,      sunday TYPE sy-datum. CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'  EXPORTING    date   = '20140101'  IMPORTING    week   = week       "返回周数:201401    monday = monday     "返回周一日期:2013.12.30    sunday = sunday.    "返回周日日期:2014.01.05--------------------------------------------------------------------------------------------------------HR_GBSSP_GET_WEEK_DATES 函数获取查询日期该年的第几周和这周周一、周日日期,该天是星期几/周几(周起始日是周日)DATA: sunday      TYPE sy-datum,      saturday    TYPE sy-datum,      day_in_week TYPE i,      week_no     TYPE p08_weekno. CALL FUNCTION 'HR_GBSSP_GET_WEEK_DATES'  EXPORTING    p_pdate       = '20140101'    "输入日期  IMPORTING    p_sunday      = sunday        "返回本周开始日期(周日):2013.12.29    p_saturday    = saturday      "返回本周结束日期(周六):2014.01.04    p_day_in_week = day_in_week   "返回该日星期几/周几: 4 => 星期三/周三                                  "(这周中的第4天,由于开始日期是周日,故需要-1)    p_week_no     = week_no.      "返回本周开始日期的周数:201352--------------------------------------------------------------------------------------------------------HOLIDAY_CHECK_AND_GET_INFO 函数判断某天是否是假日DATA holiday TYPE c.DATA attributes TYPE SORTED TABLE OF thol. CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'  EXPORTING    date                         = '20140201'  "输入日期:春节    holiday_calendar_id          = 'ZS'        "假日日历 ID    with_holiday_attributes      = ' '         "属性标识  IMPORTING    holiday_found                = holiday     "输出是否为假日的标记  输出结果:X  TABLES    holiday_attributes           = attributes  "输出该假日的属性                                               "若WITH_HOLIDAY_ATTRIBUTES参数 = X,则会带出属性记录  EXCEPTIONS    calendar_buffer_not_loadable = 1    date_after_range             = 2    date_before_range            = 3    date_invalid                 = 4    holiday_calendar_id_missing  = 5    holiday_calendar_not_found   = 6    OTHERS                       = 7.--------------------------------------------------------------------------------------------------------CONVERT_DATE_TO_INTERNAL 函数将标准日期格式转换为内部数字格式日期的格式与用户参数有关,转化为内部数字格式时,都为:YYYYMMDD.DATA date TYPE sy-datum. CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'  EXPORTING    date_external            = '2014.01.01' "当前用户日期格式:YYYY.MM.DD    accept_initial_date      = ' '  IMPORTING    date_internal            = date         "输出20140101  EXCEPTIONS    date_external_is_invalid = 1    OTHERS                   = 2.--------------------------------------------------------------------------------------------------------CONVERT_DATE_TO_EXTERNAL 函数将内部数字日期格式转换为系统日期格式系统日期格式输出时,与用户参数设置有关DATA date2(10) TYPE c. CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'  EXPORTING    date_internal            = '20140101'    IMPORTING    date_external            = date2     "根据用户日期格式参数输出:YYYY.MM.DD  EXCEPTIONS    date_internal_is_invalid = 1    OTHERS                   = 2.--------------------------------------------------------------------------------------------------------DATE_CONVERT_TO_FACTORYDATE 函数根据日期返回工厂日历日期DATA: date        TYPE scal-date,      factorydate TYPE facdate,      workingday  TYPE scal-indicator. CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'  EXPORTING    correct_option               = '+'            "表示工作日计算方式的标记    date                         = '20140101'     "必须转换的日期    factory_calendar_id          = 'ZS'           "工厂日历ID  IMPORTING    date                         = date           "工厂日历日期    factorydate                  = factorydate    "指定日历中的工作日数    workingday_indicator         = workingday     "表示某日期是否为工作日的标志  EXCEPTIONS    calendar_buffer_not_loadable = 1    correct_option_invalid       = 2    date_after_range             = 3    date_before_range            = 4    date_invalid                 = 5    factory_calendar_not_found   = 6    OTHERS                       = 7.--------------------------------------------------------------------------------------------------------HR_99S_INTERVAL_BETWEEN_DATES 函数获取两个日期期间的:天数、周数、月数、年数;包括期间月份的开始(月份第一天日期)、截止日期(月份最后一天日期)TYPE-POOLS: p99sg.DATA: days   TYPE i,      weeks  TYPE i,      months TYPE i,      years  TYPE i. DATA: month_tab TYPE STANDARD TABLE OF p99sg_month_tab_row. CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'  EXPORTING    begda     = '20130101'    "开始日期    endda     = '20140101'    "截止日期  IMPORTING    days      = days          "返回天数:266    c_weeks   = weeks         "返回周数:52    c_months  = months        "返回月数:12    c_years   = years         "返回年数:1    month_tab = month_tab.    "期间月份首尾日------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

原创粉丝点击