Spring clound 导致Date 参数时间相差14个小时问题

1:在web项目中的@Configuration配置类中增加:

	/** 解决spring clound 2.0导致Date 参数时差14个小时问题 *开始 **/
	@Bean
	public FeignFormatterRegistrar getFeignFormatterRegistrar() {
		return new FeignFormatterRegistrar() {
			@Override
			public void registerFormatters(FormatterRegistry registry) {
				registry.addConverter(Date.class, String.class, new Date2StringConverter());
			}

			class Date2StringConverter implements Converter<Date, String> {
				@Override
				public String convert(Date source) {
					SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
					return sdf.format(source);
				}
			}
		};
	}
	/** 解决spring clound 2.0导致Date 参数时差14个小时问题 *结束 **/

2:在微服务的@Configuration 配置类中增加:

/**解决spring clound 2.0导致Date 参数时差14个小时问题 开始 **/
	@Autowired
	private RequestMappingHandlerAdapter handlerAdapter;

	@PostConstruct
	public void initEditableValidation() {
		ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter
				.getWebBindingInitializer();
		if (initializer.getConversionService() != null) {
			GenericConversionService genericConversionService = (GenericConversionService) initializer
					.getConversionService();
			genericConversionService.addConverter(String.class, Date.class, new String2DateConverter());
		}
	}
	private class String2DateConverter implements Converter<String, Date> {

		@Override
		public Date convert(String source) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			try {
				return sdf.parse(source);
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
		}

	}
	/**解决spring clound 2.0导致Date 参数时差14个小时问题 结束 **/

猜你喜欢

转载自blog.csdn.net/qq_33820379/article/details/81630813