如何在Android应用程序中获取当前时间和日期?
当前回答
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
textView.setText("" + mDay + "-" + mMonth + "-" + mYear);
其他回答
要获取当前时间,您可以使用System.currentTimeMillis(),这是Java中的标准。然后您可以使用它来创建日期
Date currentDate = new Date(System.currentTimeMillis());
正如其他人提到的创造一个时间
Time currentTime = new Time();
currentTime.setToNow();
final Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
textView.setText("" + mDay + "-" + mMonth + "-" + mYear);
你可以(但不再应该-见下文!)使用android.text.format.Time:
Time now = new Time();
now.setToNow();
从上面的参考链接:
Time类是一个更快的替代品 为java.util.Calendar和 java.util.GregorianCalendar类。 Time类的实例 表示指定的时间点 精准度第二。
注1: 我写这个答案已经有好几年了, 它是关于一个旧的,android专用的,现在已被弃用的类。 谷歌现在这样说 “他的类有一些问题,建议使用公历代替”。
注2:尽管Time类有一个toMillis(ignoreDaylightSavings)方法,但这只是为了方便传递给以毫秒为单位的方法。时间值仅精确到一秒;毫秒部分总是000。如果在循环中,你会这样做
Time time = new Time(); time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));
... do something that takes more than one millisecond, but less than one second ...
结果序列将重复相同的值,例如1410543204000,直到下一秒开始,此时1410543205000将开始重复。
你可以用:
import java.util.Calendar;
import java.util.Date;
Date currentTime = Calendar.getInstance().getTime();
Calendar中有许多常量可以满足您的所有需要。
检查Calendar类文档。
对于当前日期和时间,使用:
String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());
输出:
Feb 27, 2012 5:41:23 PM
推荐文章
- ImageView -有高度匹配宽度?
- 如何确定在android文件的MIME类型?
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- MySQL中两个日期之间的差异
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- 在Bash中获取日期(比当前时间早一天)
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- 我怎么能计算在打字稿2日期之间的时间