Android:字符串中的日期格式

Posted

技术标签:

【中文标题】Android:字符串中的日期格式【英文标题】:Android : date format in a String 【发布时间】:2011-11-09 01:05:36 【问题描述】:

由于这些日期的格式,我无法对日期进行排序。

我得到日期:

final Calendar c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);

然后我用这些值构建一个字符串。

dateRappDB = (new StringBuilder()
   .append(mYear).append(".")
   .append(mMonth + 1).append(".")
   .append(mDay).append(" ")).toString();

问题在于,如果月份是例如二月,则 mMonth 的值为 2。因此,像十月 (10) 这样的月份的日期在我的列表之前。

我需要的是月份和日期的格式类似于 MM 和 dd。但在我的情况下,我不知道该怎么做。

编辑

我通过使用上述 DateFormat 解决了这个问题。

我替换了这个:

dateRappDB = (new StringBuilder()
  .append(mYear).append(".")
  .append(mMonth + 1).append(".")
  .append(mDay).append(" ")).toString();

通过这个:

Date date = new Date(mYear - 1900, mMonth, mDay);
dateFacDB = DateFormat.format("yyyy.MM.dd", date).toString();

而且它有效。 感谢大家的帮助:)

【问题讨论】:

试试这个:***.com/questions/7165901/…***.com/questions/6705031/how-to-format-a-date***.com/questions/6520553/date-and-time-format 【参考方案1】:

您需要对日期进行排序,而不是字符串。另外,您听说过DateFormat 吗?它为您制​​作所有附加内容。

【讨论】:

我支持这个解决方案,除非出于某种未说明的原因,您确实需要使用这些字符串...但是 ernazm 正中要害:使用 android 类:D【参考方案2】:

如果我理解您的问题,您可以创建一个日期列表,因为它们是字符串,它们会按字典顺序排列,这意味着您在 2 月之前(2 之前的 10 月)到达 10 月。

如果我是你,我会将结果存储在一个容器中,我可以在其中控制插入点(如数组列表)或可以控制排序算法。

【讨论】:

【参考方案3】:

这里是日期格式的例子

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date date = new Date();

System.out.println("format 1 " + sdf.format(date));

sdf.applyPattern("E MMM dd yyyy");
System.out.println("format 2 " + sdf.format(date));

【讨论】:

【参考方案4】:

这是一个将日期转换为字符串的简单方法:

SimpleDateFormat simpleDate = new SimpleDateFormat("dd/MM/yyyy");

String strDt = simpleDate.format(dt);

【讨论】:

【参考方案5】:
 Calendar calendar = Calendar.getInstance();
 Date now = calendar.getTime();   
 String timestamp = simpleDateFormat.format(now);

这些可能会派上用场

SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZZZZZ");

这种格式等于 --> "2016-01-01T09:30:00.000000+01:00"

SimpleDateFormat simpleDateFormat = 
   new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ");

这种格式等于 --> "2016-06-01T09:30:00+01:00"

【讨论】:

以上是关于Android:字符串中的日期格式的主要内容,如果未能解决你的问题,请参考以下文章

在android中将字符串转换为日期格式

Android - 显示不同日期格式的月份名称

一起Talk Android吧(第四百三十六回:Java8中的日期时间格式类)

VB 如何把access中的字符串日期转换成日期格式并能计算日期

android中在编辑框怎样获取日期

VB 如何把access中的字符串日期转换成日期格式并能计算日期