【发布时间】:2013-02-20 21:43:51
【问题描述】:
我不想承认这一点,但我无法理解基本的日期格式。我知道我只是想多了,但我看到的文档完全想念我。例如,我想要做的只是显示格式为 "Wednesday, February 20, 2013" 的当前日期。到目前为止我所拥有的是:
TextView textView = (TextView) findViewById(R.id.currentDate);
String now = DateFormat.getDateInstance().format(new Date());
textView.setText(now);
这会产生类似 "2013-2-20" 的内容,这是很好的第一步,但不是我想要的。在查看文档时我很困惑,因为DateFormat 文档都说使用整数来表示SHORT、MEDIUM、LONG 或DEFAULT。什么?确切地说,我会把这个论点放在哪里?以及如何/哪个整数表示SHORT vs LONG?这些都没有任何意义,我觉得自己像个彻头彻尾的白痴,因为我知道这很明显。多年使用 PHP 的日期格式后,我开始意识到这一点,我确信我的旧习惯完全阻碍了我看到它的简单性。
【问题讨论】:
-
看看这个关于格式化日期的博客javatechniques.com/blog/…
-
您缺少的关键概念是日期格式的原始实现在 Java 中被严重破坏;原始实现的 Java 替代品被破坏得更加可怕;并且试图使原始损坏的实现可用的 Android 辅助实用程序在他们使用的 API 系列中不一致。如果你觉得这很困难,那是因为 Java 中的日期格式并不容易,或者永远不会容易。让你知道。
-
@Johnathan:这就是我完全困惑的地方。在您引用的博客中,我想我可能已经阅读过,我发现诸如“System.out.println(” 8.” + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(now)) 之类的东西; 而我完全被“8”所迷惑。
-
@Robin:这让我感觉好多了,尽管我必须承认,今天的问题只是我没有像一只塞满生锈门把手的袜子那样的智力。
-
我下面的回答可以接受吗?如果是这样,请接受作为答案。如果没有,请告诉我我可以做些什么来为您澄清或改进它。
标签: java android date-format