根据《企业职工患病或非因工负伤医疗期规定》,工作20年的职工可以享受的病假时长如下:
在本单位工作年限五年以下的:可以享受6个月的医疗期。
在本单位工作年限五年以上十年以下的:可以享受9个月的医疗期。
在本单位工作年限十年以上十五年以下的:可以享受12个月的医疗期。
在本单位工作年限十五年以上二十年以下的:可以享受18个月的医疗期。
在本单位工作年限二十年以上的:可以享受24个月的医疗期。
医疗期的计算方式是:医疗期三个月的按六个月内累计病休时间计算;六个月的按十二个月内累计病休时间计算;九个月的按十五个月内累计病休时间计算;十二个月的按十八个月内累计病休时间计算;十八个月的按二十四个月内累计病休时间计算;二十四个月的按三十个月内累计病休时间计算。