【问题标题】:How to get only the year from DateUtils如何从 DateUtils 只获取年份
【发布时间】:2013-02-19 09:07:31
【问题描述】:

如何使用 DateUtils 仅获取日期的年份部分?我尝试使用

DateUtils.FORMAT_SHOW_YEAR

但这似乎甚至返回了月份和日期。

【问题讨论】:

  • 你是如何使用DateUtils.FORMAT_SHOW_YEAR的? DateUtils.FORMAT_SHOW_YEAR 是一个int 值,用于指定调用DateUtils.formatDateTime() 时的格式。
  • DateUtils.formatDateRange(context, date.getTime(), date.getTime(), DateUtils.FORMAT_SHOW_YEAR);
  • 试试DateUtils.formatDateTime(context, date.getTime(), DateUtils.FORMAT_SHOW_YEAR)

标签: android date-format android-date android-dateutils


【解决方案1】:

无需重新发明轮子

   SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
   String year = sdf.format(new Date());

要考虑语言环境,请使用构造函数 SimpleDateFormat("template", Locale)

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy", Locale.getDefault());

【讨论】:

  • 这会考虑语言环境吗?
【解决方案2】:

使用 DateFormat "yyyy",你只会得到年份

【讨论】:

  • 可以提供样品吗?
【解决方案3】:
Calendar c = Calendar.getInstance(); 
c.setTime(sdf.parse(date));   // sdf is SimpleDateFormat
System.println(c.get(Calendar.YEAR)));

【讨论】:

  • 创建一个这样的日期格式: SimpleDateFormat sdf = new SimpleDateFormat("your date format");在 c.setTime(sdf.parse(date)); 行中,日期是您在创建 SimpleDateFormat 时提供的格式的输入日期
  • @harmjanr 他至少应该做那份工作:)
【解决方案4】:

你可以使用

Calendar c = Calendar.getInstance(); 
int year = c.get(Calendar.YEAR);

你可以查看here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 2015-02-13
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多