時間フォーマット(java前のバックグラウンドのインタラクション)

3717 ワード

前言
私たちが日常的に開発している中で、バックグラウンドで取得した日付フォーマットがフロントに表示されているのは、タイムスタンプ(例えば12809730000)であること、またはフロントからバックグラウンドに送信されて400受信エラーが発生していることがよく分かります。ここでは二つの方法で問題を解決します。
バックグラウンド?フロント
コメントを入れるだけで@Json Format
 @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 private Date time;
フロントが楽屋に入った時
私は通常メッセージ変換器を使っています。カテゴリーをカスタマイズしてspringに注入します。もちろん簡単な方法があります。本体フィールドに@DateTimeFormat(pattern="yyy-M-dd HH:mm:ss")【これは上の注釈を飲んで一緒に使うことができます。】
spring.xml添加プロファイル
 <mvc:annotation-driven conversion-service="conversionService">mvc:annotation-driven>
    <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="com.tellhow.social.controller.CustomDateConverter"/>
        list>
    property>
bean>
Custoom DateConverter.java
package com.tellhow.social.controller;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
/**
 *        --          
 * @author Administrator
 *
 */
public class CustomDateConverter implements Converter<String,Date>{
    public Date convert(String source) {
        //             (   yyyy-MM-dd HH:mm:ss)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            //      
            return simpleDateFormat.parse(source);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //          null
        return null;
    }
}
以上の二つの方法は時間フィールドの前のバックグラウンドを正常に表示させることができます。