Java 转换日期对象的字符串格式日期
我得到一个字符串格式的日期作为输出,如下所示 2012年5月18日星期五00:00:00美国东部时间 我需要将其转换为日期对象。我应该使用什么方法 多谢各位 这就是我使用的程序Java 转换日期对象的字符串格式日期,java,date,string-to-datetime,Java,Date,String To Datetime,我得到一个字符串格式的日期作为输出,如下所示 2012年5月18日星期五00:00:00美国东部时间 我需要将其转换为日期对象。我应该使用什么方法 多谢各位 这就是我使用的程序 import java.util.*; import java.text.*; public class DateToString { public static void main(String[] args) { try { DateFormat formatter
import java.util.*;
import java.text.*;
public class DateToString {
public static void main(String[] args) {
try {
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'EDT' yyyy ");
date = (Date)formatter.parse("Fri May 18 00:00:00 EDT 2012");
String s = formatter.format(date);
System.out.println("Today is " + s);
} catch (ParseException e) {
System.out.println("Exception :"+e);
}
}
}
看看:
更新:请注意,语言环境可能很重要。看看:
更新:请注意,语言环境可能很重要。使用以下模式:
EEE MMM dd HH:mm:ss 'EDT' YYYY
这不需要担心时区,或者包括时区:(未测试)EEE MMM dd HH:mm:ss z YYYY
(它是小写的z
)。请记住,我还没有测试过(因为我在路上下班回家)。 < P>使用以下模式:
EEE MMM dd HH:mm:ss 'EDT' YYYY
这不需要担心时区,或者包括时区:(未测试)EEE MMM dd HH:mm:ss z YYYY
(它是小写的z
)。请记住,我还没有测试过(我在路上下班回家)。< P>使用和实现,以获得一个你想要的格式显示的日期。
示例:
String myDateString = "Fri May 18 00:00:00 EDT 2012";
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.applyPattern( "EEE MMM dd HH:mm:ss z yyyy" );
try {
Date d = dateFormat.parse( myDateString );
System.out.println( d ); // Fri May 18 00:00:00 EDT 2012
String datePattern1 = "yyyy-MM-dd";
dateFormat.applyPattern( datePattern1 );
System.out.println( dateFormat.format( d ) ); // 2012-05-18
String datePattern2 = "yyyy.MM.dd G 'at' HH:mm:ss z";
dateFormat.applyPattern( datePattern2 );
System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 EDT
String datePattern3 = "yyyy.MM.dd G 'at' HH:mm:ss Z";
dateFormat.applyPattern( datePattern3 );
System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 -400
}
catch ( Exception e ) { // ParseException
e.printStackTrace();
}
使用和实现获取可按所需格式显示的日期
示例:
String myDateString = "Fri May 18 00:00:00 EDT 2012";
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.applyPattern( "EEE MMM dd HH:mm:ss z yyyy" );
try {
Date d = dateFormat.parse( myDateString );
System.out.println( d ); // Fri May 18 00:00:00 EDT 2012
String datePattern1 = "yyyy-MM-dd";
dateFormat.applyPattern( datePattern1 );
System.out.println( dateFormat.format( d ) ); // 2012-05-18
String datePattern2 = "yyyy.MM.dd G 'at' HH:mm:ss z";
dateFormat.applyPattern( datePattern2 );
System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 EDT
String datePattern3 = "yyyy.MM.dd G 'at' HH:mm:ss Z";
dateFormat.applyPattern( datePattern3 );
System.out.println( dateFormat.format( d ) ); // 2012.05.18 AD at 00:00:00 -400
}
catch ( Exception e ) { // ParseException
e.printStackTrace();
}
这将从字面上解析
EDT
,而不是作为时区说明符,不是吗?[code]导入java.util.*;导入java.text.*;公共类DateToString{public static void main(String[]args){try{DateFormat格式化程序;日期日期;格式化程序=新的SimpleDataFormat(“EEE MMM dd HH:mm:ss'EDT'yyyy”);日期=(Date)格式化程序.parse(“Fri May 18 00:00:00:00 EDT 2012”);字符串s=格式化程序.format(Date);System.out.println(“今天是”+s)}(ParseException e){System.out.println(“异常:+e);}}@aix,是的,这是因为我试图在@user1422029中找出z
和z
之间的区别,注释部分不是粘贴代码的地方。如果愿意,请更新您的帖子。@user1422029请用您的代码更新您的问题,并告诉我们什么不起作用。如果适用,显示异常堆栈跟踪。这将解析EDT
从字面上看,而不是作为时区说明符,不是吗?[code]导入java.util.*;导入java.text.*;公共类DateToString{public static void main(String[]args){try{DateFormat格式化程序;Date-Date;formatter=new SimpleDateFormat(“eemmdd HH:mm:ss'EDT'yyyyy”);Date=(Date)formatter.parse(“Fri May 18 00:00:00 EDT 2012”);字符串s=formatter.format(日期);System.out.println(“今天是”+s);}catch(ParseException e){System.out.println(“异常:+e);}@aix,是的,这是因为我试图在@user1422029中找出z
和z
之间的区别,注释部分不是粘贴代码的地方。如果愿意,请更新您的帖子。@user1422029请用您的代码更新您的问题,并告诉我们什么不起作用。如果适用,显示异常堆栈跟踪。import java.util、 *;导入java.text.*;公共类DateToString{public static void main(String[]args){try{DateFormat格式化程序;Date-Date;formatter=new SimpleDateFormat(“EEE-MMM-dd-HH:mm:ss'EDT'yyyy”);Date=(Date)formatter.parse(“Fri-May 18 00:00:00 EDT 2012”);String s=formatter.format(Date);System.out.println(“今天是+s);}catch(ParseException e){System.out.println(“异常:+e);}}
必须指定区域设置,我早些时候用它更新了答案。我想指定GMT时区?我不能保证你的代码与我在这里列出的代码不一样,你在粘贴到@Azar的代码中有另一个格式字符串……你似乎把它与其他人的代码混在一起了,现在接受了一个已经做出的答案一个小时后,我的确切代码是:)import java.util.*;导入java.text.*;公共类DateToString{public static void main(String[]args){try{DateFormat格式化程序;日期日期;格式化程序=新的SimpleDataFormat(“EEE MMM dd HH:mm:ss'EDT'yyyy”);日期=(Date)格式化程序.parse(“Fri May 18 00:00:00:00 EDT 2012”);字符串s=格式化程序.format(Date);System.out.println(“今天是”+s)}(ParseException e){System.out.println(“异常:+e);}}
必须指定区域设置,我早些时候用它更新了答案。我想指定GMT时区?我不能保证你的代码与我在这里列出的代码不一样,你在粘贴到@Azar的代码中有另一个格式字符串……你似乎把它与其他人的代码混在一起了,现在接受了一个已经做出的答案一个小时后,我的确切密码是:)好了,你把日期格式化了。我有“d”作为字符串,而不是作为日期对象。谢谢,这是有效的Perfect@user1422029System.out.println(“谢谢,这工作很完美”。等于(“回答已接受”);//false
好的,这里是日期的格式。我有“d”作为字符串,而不是作为日期对象。谢谢,这是有效的Perfect@user1422029System.out.println(“谢谢,这工作很完美”。等于(“回答已接受”);//错误