我试图让今天的年,月,使用下面的代码日期;
Calendar calendar = Calendar.getInstance();
int thisYear = calendar.get(Calendar.YEAR);
Log.d(TAG, "# thisYear : " + thisYear);
int thisMonth = calendar.get(Calendar.MONTH);
Log.d(TAG, "@ thisMonth : " + thisMonth);
int thisDay = calendar.get(Calendar.DAY_OF_MONTH);
Log.d(TAG, "$ thisDay : " + thisDay);
但它给“2012年1月为28日期”,这是不是今天的日期。 我做了什么错?
我将是假设这正确的在模拟器运行? 如果是这样,正确设置仿真器日期,应该是正确的。
从内存中,该代码应该做你的期望。
Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
calendar.get(Calendar.YEAR)
月份从零开始,所以你需要添加1与给定的月份,显示月份数字,我们都很熟悉。
int thisMonth = calendar.get(Calendar.MONTH);
Log.d(TAG, "@ thisMonth : " + (thisMonth+1));
这将显示你当前的月份从1开始。
试试这个..
Calendar instance = Calendar.getInstance();
currentMonth = instance.get(Calendar.MONTH);
currentYear = instance.get(Calendar.YEAR);
int month=currentMonth+1;
import java.util.Calendar;
import java.util.TimeZone;
import android.widget.Toast;
Calendar calendar = Calendar.getInstance(TimeZone.getDefault());
int currentYear = calendar.get(Calendar.YEAR);
int currentMonth = calendar.get(Calendar.MONTH) + 1;
int currentDay = calendar.get(Calendar.DAY_OF_MONTH);
Toast.makeText(this,"Today's Date: " + currentYear + currentMonth + currentDay, Toast.LENGTH_SHORT).show();
“时区”,如果将工作的伟大的Android API 27台以上的应用程序的目标
我想你的代码,它是给正确的输出。 你应该尝试在你的仿真器/手机确认时间上正尝试此代码 。
据的getInstance文档,将其设置为当前日期和时间默认情况下。
尝试使用:
Date dt = new Date();
dt.getYear();
dt.getMonth();
dt.getDay();
看看你是否得到相同的结果。 如果是这样,您的系统日期可能是不同步的。 检查日期类文档的更多详细信息:
这使你的android系统的时间和日期,所以首先要检查它。