最近公司项目新升级,要把以前版本的系统数据导入到新系统中去,在导数据的过程中碰到如下问题:
老版本的时间保存小时,分组时分开保存,新版本是一起保存;
例如:保存"08:00"
老版本:hour,minute分开保存,hour字段保存Integer类型的8,minute保存Integer类型的0
新版本:直接保存字符串"08:00"
刚开始,我是这样处理的,小时分钟之间直接加":",直接拼接成:"8:0"
而新版本需要的是"08:00"
向架构师反馈后,给我提供了一个方法:StringUtils的leftPad方法。
我使用的是org.apache.commons.lang3的StringUtils
方法如下:
public static String leftPadTime(Integer time){
return StringUtils.leftPad(String.valueOf(time), 2, "0");
}
左侧填充:
leftPad():
StringUtils.leftPad(String str,int size);
StringUtils.leftPad(String str,int size,String padStr);
右侧填充:
rightPad():
StringUtils.rightPad(String str,int size);
StringUtils.rightPad(String str,int size,String padStr);
中间填充:
center():
StringUtils.center(String str, int size);
StringUtils.center(String str, int size, String padString);
例:
StringUtils.center("abcdef", 20);
返回结果(左右各7个空格):abcdef
StringUtils.center("abcdef", 20,"*_");
返回结果:*_*_*_abcdef*_*_*_*_
StringUtils.leftPad("abc", 10, "*");
返回结果:*******abc