如何在Java中从字符串中获取日期和时间?

如何在Java中从字符串中获取日期和时间?,java,android,date,time,fetch,Java,Android,Date,Time,Fetch,我得到了类似“Wed,08 Feb 2012 09:06:41+0000”的字符串。 我想取“日期”2012年2月8日和“时间”09:06 我怎样才能得到它??请帮帮我 提前感谢……) 在这里查看日期和时间模式 Date d = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(yourString); 在这里查找日期和时间模式。您可以使用。SimpleDataFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

我得到了类似“Wed,08 Feb 2012 09:06:41+0000”的字符串。 我想取“日期”2012年2月8日和“时间”09:06

我怎样才能得到它??请帮帮我

提前感谢……)

在这里查看日期和时间模式

Date d = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(yourString);
在这里查找日期和时间模式。

您可以使用。SimpleDataFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。它允许格式化(日期->文本)、解析(文本->日期)和规范化

Date d = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(yourString);
您只需要一个正确的格式:

"EEE, d MMM yyyy HH:mm:ss Z"
你可以用。SimpleDataFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。它允许格式化(日期->文本)、解析(文本->日期)和规范化

您只需要一个正确的格式:

"EEE, d MMM yyyy HH:mm:ss Z"
使用以下成语:

DateFormat fmt = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date = (Date)fmt.parse("Wed, 08 Feb 2012 09:06:41 +0000");
“E,dd-MMM-yyyy-HH:mm:ss-Z”这是解析器的模式

“Wed,08 Feb 2012 09:06:41+0000”实际上是您的日期字符串

现在,date对象包含结构化日期,您可以提取所需的所有内容。

使用以下习惯用法:

DateFormat fmt = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date = (Date)fmt.parse("Wed, 08 Feb 2012 09:06:41 +0000");
“E,dd-MMM-yyyy-HH:mm:ss-Z”这是解析器的模式

“Wed,08 Feb 2012 09:06:41+0000”实际上是您的日期字符串

现在,date对象包含结构化日期,您可以提取所需的所有内容。

您可以使用

要显示2012年2月8日,您可以将格式简化为

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");  
m_sdFormatter.format(your date);
SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("HH:mm");  
m_sdFormatter.format(your date);
显示“时间”09:06。您可以将teformat简化为

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");  
m_sdFormatter.format(your date);
SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("HH:mm");  
m_sdFormatter.format(your date);
你可以用

要显示2012年2月8日,您可以将格式简化为

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");  
m_sdFormatter.format(your date);
SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("HH:mm");  
m_sdFormatter.format(your date);
显示“时间”09:06。您可以将teformat简化为

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");  
m_sdFormatter.format(your date);
SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("HH:mm");  
m_sdFormatter.format(your date);

首先将字符串解析为
日期
,然后将日期格式化为所需的字符串:

    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    try {
        Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
        System.out.println(date);
        SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
        SimpleDateFormat time = new SimpleDateFormat("HH:mm");
        System.out.println(day.format(date));
        System.out.println(time.format(date));
    } catch (ParseException e) {
        e.printStackTrace();
    }
产出:

Wed Feb 08 09:06:41 GMT 2012
8-Feb-2012
09:06

首先将字符串解析为
日期
,然后将日期格式化为所需的字符串:

    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    try {
        Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
        System.out.println(date);
        SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
        SimpleDateFormat time = new SimpleDateFormat("HH:mm");
        System.out.println(day.format(date));
        System.out.println(time.format(date));
    } catch (ParseException e) {
        e.printStackTrace();
    }
产出:

Wed Feb 08 09:06:41 GMT 2012
8-Feb-2012
09:06
试试这个

SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
try 
{
    Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
    System.out.println(date);
    SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
    SimpleDateFormat time = new SimpleDateFormat("HH:mm");
    System.out.println(day.format(date));
    System.out.println(time.format(date));
} 
catch (ParseException e) 
{
    e.printStackTrace();
}
它肯定会有用的。

试试这个

SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
try 
{
    Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
    System.out.println(date);
    SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
    SimpleDateFormat time = new SimpleDateFormat("HH:mm");
    System.out.println(day.format(date));
    System.out.println(time.format(date));
} 
catch (ParseException e) 
{
    e.printStackTrace();
}

它肯定会起作用。

希望这有帮助。有很多清晰正确的答案。请接受一个,不要离开我们:)希望这有帮助。有很多清晰正确的答案。请接受一个,不要离开我们:)我有约会。但是,它给时间14:36…@Hardik:没错。源字符串显示“+0000”时区。解析后的日期将显示在本地时区中(如
.toString()
调用)。但事实上是同一时间。我有约会。但是,它给出的时间是14:36…@Hardik:没错。源字符串显示“+0000”时区。解析后的日期将显示在本地时区中(如
.toString()
调用)。但事实上是同一时间。@Hardik:如果省略Z,解析器将忽略字符串中的时区,并且不会生成精确的时间。您会看到“正确”的结果,但结果日期对象和生成字符串的日期对象不同。我认为您需要更深入地了解时间是如何存储在Java中的。“这很好。@哈迪克:若省略Z,解析器将忽略字符串中的时区,而不会生成精确的时间。您会看到“正确”的结果,但结果日期对象和生成字符串的日期对象不同。我认为您需要更深入地了解时间是如何存储在Java中的。这是个好消息。