cn.net.vidyo.yd.common.utils.convert.BothDateTimeConverter Maven / Gradle / Ivy
package cn.net.vidyo.yd.common.utils.convert;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Map;
public class BothDateTimeConverter implements MapConverter {
String beginTimeField;
String endTimeField;
String addNameField;
public BothDateTimeConverter(String beginTimeField, String endTimeField, String addNameField) {
this.beginTimeField = beginTimeField;
this.endTimeField = endTimeField;
this.addNameField = addNameField;
}
@Override
public Map convert(Map data) {
if(data.containsKey(beginTimeField) && data.containsKey(endTimeField) && !data.containsKey(addNameField)){
Long begintime=Long.parseLong(data.get(beginTimeField).toString());
Long endtime=Long.parseLong(data.get(endTimeField).toString());
Calendar beginCalendar = Calendar.getInstance();
beginCalendar.setTimeInMillis(begintime);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTimeInMillis(endtime);
SimpleDateFormat datef = new SimpleDateFormat("yyyy.MM.dd");
SimpleDateFormat timef = new SimpleDateFormat("HH:mm:ss");
StringBuilder buffer = new StringBuilder();
if(beginCalendar.get(Calendar.YEAR)==endCalendar.get(Calendar.YEAR) &&
beginCalendar.get(Calendar.MONTH)==endCalendar.get(Calendar.MONTH) &&
beginCalendar.get(Calendar.DAY_OF_MONTH)==endCalendar.get(Calendar.DAY_OF_MONTH)){
buffer.append(datef.format(beginCalendar.getTime()));
buffer.append(" ");
buffer.append(timef.format(beginCalendar.getTime()));
buffer.append(" - ");
buffer.append(timef.format(endCalendar.getTime()));
}else{
buffer.append(datef.format(beginCalendar.getTime()));
buffer.append(" ");
buffer.append(timef.format(beginCalendar.getTime()));
buffer.append(" - ");
buffer.append(datef.format(endCalendar.getTime()));
buffer.append(" ");
buffer.append(timef.format(endCalendar.getTime()));
}
data.put(addNameField,buffer.toString());
}
return data;
}
}