如何获取Android手机的当前日期?

时间:2012-10-20 22:17:10

标签: android date

这就是我获取手机日期的方式,但它提示我一个parseException,有什么问题?

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String date = sdf.format(new Date());
    Date localDate = sdf.parse(date);

4 个答案:

答案 0 :(得分:3)

new Date(0)不是当前的日期/时间。您应该使用new Date()。 ParseException应该消失。如果您想知道为什么会这样做,只需调试您的程序并查看新的Date(0)作为String给出的内容,您就会知道为什么它无法解析。

Date now = new Date();
Date alsoNow = Calendar.getInstance().getTime();
String nowAsString = new SimpleDateFormat("yyyy-MM-dd").format(now);

有效。那也是:

Date christmas = new SimpleDateFormat("yyyy-MM-dd").parse("2012-12-25");

顺便说一句,请确保您使用的是java.util.Date而不是java.sql.Date

答案 1 :(得分:1)

Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
String nowDate = formatter.format(now.getTime());
String[] separateCurrentDate = nowDate.split("-");
String year = separateCurrentDate[0];
String month = separateCurrentDate[1];
String day = separateCurrentDate[2];
int currentYear = Integer.parseInt(year);
int currentMonth = Integer.parseInt(month);
int currentDay = Integer.parseInt(day);

然后将y,m,d逐个存储到Datetime对象

答案 2 :(得分:1)

 Date now = new Date();
   Date alsoNow = Calendar.getInstance().getTime();
   String nowAsString = new SimpleDateFormat("yyyy-MM-dd").format(now);
   currentdate = (TextView)findViewById(R.id.textcntdate);
   currentdate.setText(nowAsString);

答案 3 :(得分:-1)

Date dt = new Date();
                    int hours = dt.getHours();
                    int minutes = dt.getMinutes();
                    int seconds = dt.getSeconds();
                    String curTime = hours + ":" + minutes + ":" + seconds;

然后这里还有另一个链接 Display the current time and date in an Android application