/**********************************************************\ | | | hprose | | | | Official WebSite: http://www.hprose.com/ | | http://www.hprose.org/ | | | \**********************************************************/ /**********************************************************\ * * * ZonedDateTimeConverter.java * * * * ZonedDateTimeConverter class for Java. * * * * LastModified: Aug 6, 2016 * * Author: Ma Bingyao <andot@hprose.com> * * * \**********************************************************/ package hprose.io.convert.java8; import hprose.io.convert.Converter; import hprose.util.DateTime; import hprose.util.TimeZoneUtil; import java.lang.reflect.Type; import java.time.ZoneOffset; import java.time.ZonedDateTime; public class ZonedDateTimeConverter implements Converter<ZonedDateTime> { public final static ZonedDateTimeConverter instance = new ZonedDateTimeConverter(); public ZonedDateTime convertTo(DateTime dt) { return ZonedDateTime.of(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.nanosecond, dt.utc ? ZoneOffset.UTC : ZoneOffset.of(TimeZoneUtil.DefaultTZ.getID())); } public ZonedDateTime convertTo(Object obj, Type type) { if (obj instanceof DateTime) { return convertTo((DateTime) obj); } else if (obj instanceof String) { return ZonedDateTime.parse((String) obj); } else if (obj instanceof char[]) { return ZonedDateTime.parse(new String((char[]) obj)); } return (ZonedDateTime) obj; } }