为了账号安全,请及时绑定邮箱和手机立即绑定

为什么获取的当前时间不对

大神帮看看我写的这个代码为什么获取的当前小时数不对,还有显示的日历总多出一竖列?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.example.datetime.MainActivity" 

    android:orientation="vertical">


    <DatePicker

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/date" />

    <TimePicker

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:id="@+id/time" />


</LinearLayout>



.Java文件:

public class MainActivity extends ActionBarActivity {

DatePicker date;

TimePicker time;

int my_year,my_month,my_day,my_hour,my_minute;

Calendar my_calendar;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        date=(DatePicker) findViewById(R.id.date);

        time=(TimePicker) findViewById(R.id.time);

        my_calendar=Calendar.getInstance(Locale.CHINA);

        my_year=my_calendar.get(Calendar.YEAR);

        my_month=my_calendar.get(Calendar.MONTH);

        my_day=my_calendar.get(Calendar.DAY_OF_MONTH);

        my_hour=my_calendar.get(Calendar.HOUR_OF_DAY);

        my_minute=my_calendar.get(Calendar.MINUTE);

        

        time.setIs24HourView(true);

        date.init(my_year,my_month, my_day, new DatePicker.OnDateChangedListener() {

@Override

public void onDateChanged(DatePicker view, int year, int monthOfYear,

int dayOfMonth) {

// TODO Auto-generated method stub

my_year=year;

my_month=monthOfYear;

my_day=dayOfMonth;

}

});

        time.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

@Override

public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {

// TODO Auto-generated method stub

my_hour=hourOfDay;

my_minute=minute;

}

});

        

    }

}

正在回答

3 回答

因为时区的设置问题,显示时间与模拟器上的时间相同就可以了

0 回复 有任何疑惑可以回复我~

和你的模拟器(虚拟机)上设置的时间是一致的吗?


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111172    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

为什么获取的当前时间不对

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信