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)。
Date类型并没有格式,只有转换成String格式的时候让格式化显示。
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")format(new Date())
Calendar calendar = Calendar.getInstance()
int year = Integer.parseInt(datetime.substring(0,4))
int month = Integer.parseInt(datetime.substring(5,7))
int date = Integer.parseInt(datetime.substring(8,10))
int hour = Integer.parseInt(datetime.substring(11,13))
int minute = Integer.parseInt(datetime.substring(14,16))
//int second = Integer.parseInt(datetime.substring(17,19))
if(calendar.get(Calendar.YEAR)>year){
int y = calendar.get(Calendar.YEAR)-year
扩展资料:
Date类可以在java.util包中找到,用一个long类型的值表示一个指定的时刻。它的一个有用的构造函数是Date(),创建一个表示创建时刻的对象。getTime()方法返回Date对象的long值。
import java.util.*
public class Now {
public static void main(String[] args) {
Date now = new Date()
long nowLong = now.getTime()
System.out.println("Value is " + nowLong)
参考资料来源:百度百科-java日期函数
import java.text.SimpleDateFormatimport java.util.Date\x0d\x0apublic class Timedemo {\x0d\x0a public static void main(String[] args)\x0d\x0a {\x0d\x0a long time=System.currentTimeMillis()\x0d\x0a Date date=new Date(time)\x0d\x0a String mat="yyyy-MM-dd"\x0d\x0a String ma="yyyyMMdd"\x0d\x0a SimpleDateFormat format=new SimpleDateFormat(mat)\x0d\x0a SimpleDateFormat forma=new SimpleDateFormat(ma)\x0d\x0a String nowdate=format.format(date)\x0d\x0a String nwdate=forma.format(date)\x0d\x0a int x=Integer.parseInt(nwdate)\x0d\x0a System.out.println(nowdate)\x0d\x0a System.out.println(nwdate)\x0d\x0a System.out.println(x) \x0d\x0a }\x0d\x0a}\x0d\x0a\x0d\x0a经过测试满足以上条件 希望对你有帮助