java中,怎样把 20 Dec 2012 10am 这样的时间字符串转换成Date类型的??要求的格式是1970-12-12 14:07:00

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中,怎样把 20 Dec 2012 10am 这样的时间字符串转换成Date类型的??要求的格式是1970-12-12 14:07:00相关的知识,希望对你有一定的参考价值。

package baidu;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
public class DateTest1
public static int trans(String str)
int result=0;
if ("Dec".equals(str))
result=11;
//这个地方需要12个月份的转化。
return result;

public static void main(String[] args)
String str="20 Dec 2012 10am 11 30";
String[] arr=str.split(" ");
int year =Integer.parseInt(arr[2]);
int month =trans(arr[2]);
int date =Integer.parseInt(arr[0]);
int hour =Integer.parseInt(arr[3].replace("am", "").replace("pm", ""));
int minute =Integer.parseInt(arr[4]);
int second =Integer.parseInt(arr[5]);
GregorianCalendar cal=new GregorianCalendar();
cal.set(year, month, date, hour, minute, second);
System.out.println( new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime()));

参考技术A 字符串形式有点像new java.util.Date().toGMTString()得来的,不过和你写的还不太一样。

如果这“21 Dec 2012 07:51:37 GMT”这种的话Date的过期方法倒是可以用。

java.util.Date date = new java.util.Date(java.util.Date.parse("21 Dec 2012 07:51:37 GMT"));
System.out.println(date.toString());追问

那个好像已过时了,有没有其他方法啊!??

参考技术B System.Globalization.DateTimeFormatInfo myDTFI = new System.Globalization.CultureInfo( "en-US", false ).DateTimeFormat;

Response.Write(DateTime.Now.ToString("F", myDTFI)+"<br/>");

string str="Mon, 28 Nov 2005 17:55:58 CST";
str=str.Replace("CST","GMT");//因为CST=GMT+8.所以可以先把它转换成GMT的,然后加8小时就可以了

Response.Write(Convert.ToDateTime(str).AddHours(8).ToString("f",myDTFI));
/*
This code produces the following output.

FORMAT en-US EXAMPLE
CHAR VALUE OF ASSOCIATED PROPERTY, IF ANY

d 1/3/2002
M/d/yyyy (ShortDatePattern)

D Thursday, January 03, 2002
dddd, MMMM dd, yyyy (LongDatePattern)

f Thursday, January 03, 2002 12:00 AM

F Thursday, January 03, 2002 12:00:00 AM
dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

g 1/3/2002 12:00 AM

G 1/3/2002 12:00:00 AM

m January 03
MMMM dd (MonthDayPattern)

M January 03
MMMM dd (MonthDayPattern)

r Thu, 03 Jan 2002 00:00:00 GMT
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

R Thu, 03 Jan 2002 00:00:00 GMT
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

s 2002-01-03T00:00:00
yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

t 12:00 AM
h:mm tt (ShortTimePattern)

T 12:00:00 AM
h:mm:ss tt (LongTimePattern)

u 2002-01-03 00:00:00Z
yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

U Thursday, January 03, 2002 8:00:00 AM

y January, 2002
MMMM, yyyy (YearMonthPattern)

Y January, 2002
MMMM, yyyy (YearMonthPattern)

*/
参考技术C Date date = new Date();//这里date的值就是你这个值20 Dec 2012 10am哈,你改下就行了
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");

String dates = sdf.format(date);追问

不是,是把String转换为Date。

追答

Date date = new Date();

String dates = String.valueOf(date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date dates1 = sdf.parse(String.valueOf(date));
System.out.println(dates1);

本回答被提问者采纳
参考技术D java.text.SimpleDateFormat

Letter Date or Time Component Presentation Examples

G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800

java 中怎样完成报表设计

我想将数据库中的记录显示在EXCEL表格中,或者报表中,以便打印.

参考技术A 使用画笔功能.有画半圆的.
把百分比都乘以100
这样就能得到整数.
然后再把百分比换算成360度
之后画出度数就行

我们的论坛:www.j2megame.cn

参考资料:www.j2megame.cn

以上是关于java中,怎样把 20 Dec 2012 10am 这样的时间字符串转换成Date类型的??要求的格式是1970-12-12 14:07:00的主要内容,如果未能解决你的问题,请参考以下文章

excel怎样把数字转换成16进制

sql不显示反复列

想用单片机的IO控制MOS管做一个开关,控制12V左右电压的导通,导通后,工作电流10A左右,请推荐一款MOS管

用JAVA做了一个小项目,怎样在另一台电脑访问自己电脑的数据库.SQL Sever2012....

USACO[19-20]Dec银组题解

bzoj3011[Usaco2012 Dec]Running Away From the Barn*