android - 如何使用 DateFormat 解析日期字符串?

标签 android date-format simpledateformat

我有以下格式的日期字符串:

2011 年 10 月 20 日星期四 14:39:19 PST

我想使用 DateFormat 解析它以获得 Date 对象。我正在尝试这样:

DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.SHORT);
Date date = df.parse(dateString);

这会给出一个 ParseException(“无法解析的日期”)。

我也试过这个:

SimpleDateFormat df = new SimpleDateFormat("EEE-MMM-dd HH:mm:ss z yyyy");

同样的结果。

那是正确的 SimpleDateFormat 字符串吗?有没有更好的方法来解析这个日期?

最佳答案

您确定日期字符串确实被赋予了值 Thu Oct 20 14:39:19 PST 2011?如果那不是问题,您可以尝试使用适合我的代码:

import java.text.SimpleDateFormat;
import java.util.Date;
public class Test{


  public static void main(String args[]){

    String toParse = "Thu Oct 20 14:39:19 PST 2011";

    String format = "EEE MMM dd HH:mm:ss z yyyy";
    SimpleDateFormat formater = new SimpleDateFormat(format);
    try{
      Date parsed = formater.parse(toParse);
    } catch(Exception e){
      System.out.println(e.getMessage());
    }

  }
}

关于android - 如何使用 DateFormat 解析日期字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842676/

相关文章:

java - 尝试将字符串日期转换为日期

Java - 无法解析的日期

android - 如何接收收取0 $的订单? Google Developer Console

java - 显示日期列中的数据 - 解析到日期

sql - 如何使用 SQL Server 选择日期时间日期为 dddd、dd mmmm、yyyy?

r - 自 1960 年 1 月 1 日起将日期时间字符串转换为毫秒的 double 值

Android获取当前运行的应用包名

android - ACTION_MEDIA_BUTTON Intent 的 BroadcastReceiver 在每次 MediaButton 单击时触发两次

android - android如何获得 "android.app.SuperNotCalledException "?

java - 如何将天数添加到java简单日期格式