java把日期显示成yymmdd,java中日期转换

发布时间:2022-11-21

本文目录一览:

  1. java中的Date怎么转换成YYYYMMDD形式的
  2. java中的Date显示指定为yyyy-MM-dd
  3. java中的Date怎么转换成YYYYMMDD形式?
  4. java怎么把yyyy-mm-dd

java中的Date怎么转换成YYYYMMDD形式的

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);

java中的Date显示指定为yyyy-MM-dd

实现思路就是先将timestamp转换为字符串,之后字符串转换为日期类型。举例:

long l = System.currentTimeMillis(); //获取当前的timestamp值
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //定义日期类型格式
String str2 = Timestamp.valueOf(format.format(l)); //转换为字符串
//System.out.println(str2); //打印获取的字符串
Date date = format.parse(str2); //格式化获取到的日期
System.out.println(date);

输出结果:2015-06-27。

java中的Date怎么转换成YYYYMMDD形式?

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);

java怎么把yyyy-mm-dd

//转换成yyyy-MM-dd的字符串

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //设置日期格式
String date = df.format(new Date());
System.out.println("1:" + date);

//字符串转换成日期

ParsePosition pos = new ParsePosition(0);
java.util.Date datetime = df.parse(date, pos);

//再转换成MM-dd-yyyy的字符串

SimpleDateFormat df2 = new SimpleDateFormat("MM-dd-yyyy"); //设置日期格式
String date2 = df2.format(datetime);
System.out.println("2:" + date2);