如何在Java中从字符串中获取日期和时间?
我得到了类似“Wed,08 Feb 2012 09:06:41+0000”的字符串。 我想取“日期”2012年2月8日和“时间”09:06 我怎样才能得到它??请帮帮我 提前感谢……) 在这里查看日期和时间模式如何在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是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
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中的。这是个好消息。