从String对象android中提取日期和时间

时间:2014-09-24 07:35:52

标签: java android date datetime time

我有一个String对象,其中包含过期的日期和时间,如strDateTimeBoj="Oct 11 2014 5:30PM";

我需要将其提取为单独的日期和时间,因为需要检查当前日期和时间,此日期是否已过期......

我知道以下代码,但没有达到目标

DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime(string);

如何实现这一点.....任何帮助都会很棒......

4 个答案:

答案 0 :(得分:1)

如果您需要两个单独的对象,1个用于日期,另一个用于时间,那么您可以尝试一下:

String strDateTimeBoj="Oct 11 2014  5:30PM";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
Date dateObj = dateFormat.parse(strDateTimeBoj);
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
Date timeObj = dateFormat.parse(strDateTimeBoj);

但据我所知,一个对象应该做你需要达到的目标。

String strDateTimeBoj="Oct 11 2014  5:30PM";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a"); 
Date dateObj = dateFormat.parse(strDateTimeBoj);

将日期与当前日期进行比较。

答案 1 :(得分:0)

使用以下格式化程序:

String string="Oct 11 2014 5:30PM";
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd yyyy hh:mma");
Date dt = formatter.parse(string);
System.out.println(formatter.format(dt));

输出

Oct 11 2014 05:30PM

答案 2 :(得分:0)

你可以试试这种方式

 String strDateTimeBoj="Oct 11 2014 5:30PM";
 //first you need to use proper date formatter
 DateFormat df=new SimpleDateFormat("MMM dd yyyy hh:mmaa");
 Date date=df.parse(strDateTimeBoj);// converting String to date
 System.out.println(df.format(date));

Out put:

 Oct 11 2014 05:30PM

我应该使用哪种日期格式?

您可以通过阅读this自行查找。

修改

您可以使用before() after()方法来比较日期。

Date today=new Date();

System.out.println(today.after(date));
System.out.println(today.before(date));

Out put:

false
true

答案 3 :(得分:0)

您可以使用SimpleDateFormat类以任何格式获得时间。请参阅此Calendar cal = Calendar.getInstance(); String currentDate = cal.get(Calendar.DAY_OF_MONTH)+"/"+(cal.get(Calendar.MONTH)+1)+"/"+cal.get(Calendar.YEAR); Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ENGLISH).parse(currentDate);