java转换日期格式为 RFC1123


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

public class GmtDate {
    public static void main(String[] args){
        
        System.out.println(new Date());
        
        //本地日期格式.
        String rfc1123_1 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z",Locale.US).format(new Date());
        System.out.println("rfc1123_1 = " + rfc1123_1);
        
        //错误
        String rfc1123_2 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'",Locale.US).format(new Date());
        System.out.println("rfc1123_2 = " + rfc1123_2);

        //正确, 推荐使用.
        SimpleDateFormat sdf3 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z",Locale.US);
        sdf3.setTimeZone(TimeZone.getTimeZone("GMT"));
        String rfc1123_3 = sdf3.format(new Date());
        System.out.println("rfc1123_3 = "+rfc1123_3);
        
        //正确.
        SimpleDateFormat sdf4 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'",Locale.US);
        sdf4.setTimeZone(TimeZone.getTimeZone("GMT"));
        String rfc1123_4 = sdf4.format(new Date());
        System.out.println("rfc1123_4 = " + rfc1123_4);
    }
}

输出的结果

Tue Oct 30 15:33:48 CST 2018
rfc1123_1 = Tue, 30 Oct 2018 15:33:48 CST
rfc1123_2 = Tue, 30 Oct 2018 15:33:48 GMT
rfc1123_3 = Tue, 30 Oct 2018 07:33:48 GMT
rfc1123_4 = Tue, 30 Oct 2018 07:33:48 GMT

 ****************************************************

对应的命令

date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM