Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 转换日期对象的字符串格式日期_Java_Date_String To Datetime - Fatal编程技术网

Java 转换日期对象的字符串格式日期

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

我得到一个字符串格式的日期作为输出,如下所示

2012年5月18日星期五00:00:00美国东部时间

我需要将其转换为日期对象。我应该使用什么方法

多谢各位

这就是我使用的程序

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@user1422029
System.out.println(“谢谢,这工作很完美”。等于(“回答已接受”);//false
好的,这里是日期的格式。我有“d”作为字符串,而不是作为日期对象。谢谢,这是有效的Perfect@user1422029
System.out.println(“谢谢,这工作很完美”。等于(“回答已接受”);//错误