本文目录一览:
- 1、java之中 "Sat Sep 11 21:50:00 CST 2010" 转Date
- 2、java时间转换,带时区的
- 3、java中如何将Thu Feb 27 00:00:00 CST 2014 转换成Date类型的2014-02-27。(不要转换成String类型的)
- 4、java 时区转换
java之中 "Sat Sep 11 21:50:00 CST 2010" 转Date
String date = "Sat Sep 11 21:50:00 CST 2010";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US);
Date d=sdf.parse(date);
sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(d));
java时间转换,带时区的
我假设了你的已知时间类型为Calendar,如果不是你也可以自己改成Date类型,代码如下:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
public class Test {
public static void main(String[] args) {
//假如这个是你已知的时间类型
Calendar cal = Calendar.getInstance();
cal.getTimeInMillis();
//北京时区GMT+8
Calendar beijingcal = Calendar.getInstance();
beijingcal.clear();
beijingcal.setTimeZone(TimeZone.getTimeZone("GMT+8"));
beijingcal.setTimeInMillis(cal.getTimeInMillis());
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beijingFormatStr = fmt.format(beijingcal.getTime());
System.out.println(beijingFormatStr);
}
}
java中如何将Thu Feb 27 00:00:00 CST 2014 转换成Date类型的2014-02-27。(不要转换成String类型的)
没有这个说法吧。。Date是个类,实例化出来的对象,默认的toString方法就是打印出来
Thu
Feb
27
00:00:00
CST
2014
这种东西,这东西实际上是看不到的,你看到的都是会默认调用toString方法转化成String才能打印出来
如果是要2014-02-27这样,就要用SimpleDateFormat去转换样式
举个例子
Date
date=new
Date();
SimpleDateFormat
sdf=new
SimpleDateFormat("YYYY-MM-DD");
System.out.println(sdf.format(date));
这样打印出来就是YYYY-MM-DD样式的了
当然你可以重写toString方法去自己定一个格式
java 时区转换
public Date getCST(String strGMT) throws ParseException {
DateFormat df = new SimpleDateFormat("EEE, d-MMM-yyyy HH:mm:ss z", Locale.ENGLISH);
return df.parse(strGMT);
}
public String getGMT(Date dateCST) {
DateFormat df = new SimpleDateFormat("EEE, d-MMM-yyyy HH:mm:ss z", Locale.ENGLISH);
df.setTimeZone(TimeZone.getTimeZone("GMT")); // modify Time Zone.
return(df.format(dateCST));
}
2种方法仅供参考,希望 采纳。