首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日历返回错误的当前日期android

日历返回错误的当前日期android
EN

Stack Overflow用户
提问于 2012-10-26 02:08:34
回答 4查看 9.2K关注 0票数 5

为什么此代码返回0001-02-05?

代码语言:javascript
复制
public static String getNowDate() throws ParseException
{        
    return Myformat(toFormattedDateString(Calendar.getInstance()));
}

我将代码更改为:

代码语言:javascript
复制
public static String getNowDate() throws ParseException
{        
    Calendar temp=Calendar.getInstance();
    return temp.YEAR+"-"+temp.MONTH+"-"+temp.DAY_OF_MONTH;
}

现在它返回1-2-5。

请帮我弄到真正的日期。我需要的只是Sdk的日期。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-26 02:10:25

使用SimpleDateFormat

代码语言:javascript
复制
new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());

您正在使用要与Calendar.get()方法一起使用的常量。

票数 12
EN

Stack Overflow用户

发布于 2012-10-26 02:10:27

Calendar.YEARCalendar.MONTHCalendar.DAY_OF_MONTH都是int常量(只需在API doc中查找)...

因此,正如@Alex发布的那样,要在Calendar实例之外创建格式化的String,您应该使用SimpleDateFormat。

但是,如果您需要特定字段的数字表示,请使用get(int)函数:

代码语言:javascript
复制
int year = temp.get(Calendar.YEAR);
int month = temp.get(Calendar.MONTH);
int dayOfMonth = temp.get(Calendar.DAY_OF_MONTH);

警告!月份从0开始!因为这个我犯了一些错误!

票数 15
EN

Stack Overflow用户

发布于 2012-10-26 02:12:11

为什么不使用SimpleDateFormat

代码语言:javascript
复制
public static String getNowDate() {
  return new SimpleDateFormat("yyyy-MM-dd").format(new Date());
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13074588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档