gho*_*der 5 java time android calendar date
那么在我的应用我想获得当前的日期和月份abnd地方时(currentTimeZone小时),并根据其值显示一些东西.
我已阅读了几个解决方案,并使用了以下内容:
Calendar c = Calendar.getInstance();
int day=c.get(Calendar.DATE);
int month=c.get(Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)
或这个
Time today = new Time(Time.getCurrentTimezone());
today.setToNow();
int day2=today.monthDay;
int month2=today.month;
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1)考虑到他们的结果,哪一个更"稳定"?我的意思是它没有任何问题.
2)此外,他们是否都考虑了TimeZone?我认为第二个确实如此,但日历呢?
3)我尝试了这个代码,我找到了:
SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
String format = s.format(new Date());
Run Code Online (Sandbox Code Playgroud)
我得到Date()必须有一个参数的错误.很奇怪,因为在每个答案中他们都这样使用它.
怎么了?
4)你建议我用什么?我唯一想要的是在当前月份,日期,小时与一些存储在内存中的简单比较.(例如,如果是1月29日,则显示该事件.如果是19.00 am发送通知,依此类推.)
Joã*_*lva 14
1)考虑到结果,哪一个更"稳定"?我的意思是它没有任何问题.
它们都是稳定且经过良好测试的,尤其Calendar是自JDK1.1以来它在Java API中.还从文档的Time:
Calendar和GregorianCalendar类的替代方法.Time类的实例表示以第二精度指定的时刻.它以struct tm为模型,实际上使用struct tm来实现大部分功能.
Time,imho,比工作更容易Calendar.
2)此外,他们是否都考虑了TimeZone?我认为第二个确实如此,但日历呢?
是的,他们这样做.您可以指定TimeZone使用Calendar.getInstance(java.util.TimeZone).否则,将使用默认值.
3)我尝试了这个代码,我找到了:
代码工作得很好.例如,确保使用new java.util.Date()而不是代替java.sql.Date.
4)你建议我用什么?我唯一想要的是在当前月份,日期,小时与一些存储在内存中的简单比较.(例如,如果是1月29日,则显示该事件.如果是19.00 am发送通知,依此类推.)
这真的是个人选择的问题.使用Calendar,例如,比较如果今天是1月29日,你可以简单地使用以下命令:
Calendar today = Calendar.getInstance();
int dayOfMonth = today.get(Calendar.DAY_OF_MONTH);
int month = today.get(Calendar.MONTH);
if (month == Calendar.JANUARY && dayOfMonth == 29) {
// January 29
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11711 次 |
| 最近记录: |