发布网友 发布时间:2022-04-27 12:54
共2个回答
热心网友 时间:2023-09-21 07:31
SimpleDateFormat inSdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
创建SimpleDateFormat对象的时候使用带Locale的构造参数
因为你的星期和月份是用E文写的 所以parse回来的时候自然得用E文的Locale 用默认中文的Locale就会认不出来
btw 你用US的Locale的话 时区也会跑那里去 所以你应该给时区指定GMT+08:00 而不是光一个GMT
参考这段小代码
String s ="Thu, 02 Mar 2006 05:14:25 GMT+08:00";
SimpleDateFormat inSdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
SimpleDateFormat outSdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.CHINA);
try {
Date dateS = inSdf.parse(s);
System.out.println(outSdf.format(dateS));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//1、定义转换格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyyMMdd");
//2、调用formatter2.parse(),将"19570323"转化为date类型 输出为:Sat Mar 23 00:00:00 GMT+08:00 1957
Date date = formatter2.parse(dateString);
//3、将date类型 (Sat Mar 23 00:00:00 GMT+08:00 1957)转化为String类型
//注意现在用的是formatter来做转换,输出为String类型的:"1957-03-23"
String dString = formatter.format(date);
//4、将String转化为date,需要注意java.sql.Date.valueOf()函数只能接受参数类型为yyyy-MM-dd类型的
Date data = java.sql.Date.valueOf(dString);
//5、将获取的date类型的出生日期赋值给javabean
personAudit.setBirthDate((emp.getHealthCarePrincipalPerson() != null
&& emp.getHealthCarePrincipalPerson().getBirthTime() != null)?data:null)。
热心网友 时间:2023-09-21 07:32
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMdd");
System.out.println(sdf2.format(new Date()));
这是将Date转换成yyyyMMdd格式的字符串
System.out.println(sdf2.parse("20170301"));
这是将字符串转成Date
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平*立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。