0

我得到的结果是 2012 年 12 月 1 日,但我想显示为“2012 年 12 月 1 日星期六”,我的代码如下,如果你有,请给我一个解决方案......

Date date = new Date();
myDateString = DateFormat.getDateFormat(getApplicationContext()).format(date).toString();
dateTxt.setText(myDateString);
4

1 回答 1

4

请参阅此示例

 String[] formats = new String[] {
   "yyyy-MM-dd",
   "yyyy-MM-dd HH:mm",
   "yyyy-MM-dd HH:mmZ",
   "yyyy-MM-dd HH:mm:ss.SSSZ",
   "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
 };
 for (String format : formats) {
   SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
   sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
   System.err.format("%30s %s\n", format, sdf.format(new Date(0)));
 }

在 PDT 时区运行时会产生此输出:

                 yyyy-MM-dd 1969-12-31
                 yyyy-MM-dd 1970-01-01
           yyyy-MM-dd HH:mm 1969-12-31 16:00
           yyyy-MM-dd HH:mm 1970-01-01 00:00
          yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
          yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
   yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
   yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000

所以使用这种格式:

"EEEE, MMMM dd, yyyy" -> "Monday, April 6, 1970"

有关完整的详细信息,请参阅这些参考资料

  1. http://developer.android.com/reference/android/text/format/DateFormat.html
  2. http://developer.android.com/reference/java/text/SimpleDateFormat.html

    导入 java.text.SimpleDateFormat;导入 java.util.Date;导入 java.util.Locale;

    字符串格式 = "EEEE, MMMM dd, yyyy";

    今天的日期 = new Date(); SimpleDateFormat sdf = new SimpleDateFormat(Format, Locale.ENGLISH); System.err.format("%30s %s\n", Format, sdf.format(today));

这是打印EEEE, MMMM dd, yyyy Saturday, December 01, 2012

检查您的导入,如果问题仍然存在,请尝试发布您的新代码。

于 2012-12-01T09:44:37.447 回答