47 lines
1.4 KiB
Java
47 lines
1.4 KiB
Java
|
package eu.eudat.data.converters;
|
||
|
|
||
|
import org.springframework.format.datetime.DateFormatter;
|
||
|
|
||
|
import javax.persistence.AttributeConverter;
|
||
|
import javax.persistence.Converter;
|
||
|
import java.text.DateFormat;
|
||
|
import java.text.ParseException;
|
||
|
import java.text.SimpleDateFormat;
|
||
|
import java.util.Date;
|
||
|
import java.util.TimeZone;
|
||
|
|
||
|
/**
|
||
|
* Created by ikalyvas on 9/25/2018.
|
||
|
*/
|
||
|
@Converter
|
||
|
public class DateToUTCConverter implements AttributeConverter<Date, Date> {
|
||
|
|
||
|
@Override
|
||
|
public Date convertToDatabaseColumn(Date attribute) {
|
||
|
if(attribute == null) return null;
|
||
|
DateFormat formatterIST = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
formatterIST.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||
|
try {
|
||
|
String date = formatterIST.format(attribute);
|
||
|
return formatterIST.parse(date);
|
||
|
} catch (ParseException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Date convertToEntityAttribute(Date dbData) {
|
||
|
if(dbData == null) return null;
|
||
|
DateFormat formatterIST = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
formatterIST.setTimeZone(TimeZone.getTimeZone("UTC"));
|
||
|
try {
|
||
|
String date = formatterIST.format(dbData);
|
||
|
return formatterIST.parse(date);
|
||
|
} catch (ParseException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
}
|