24小时制的问题

24小时制的问题

package com.example.ui_datepicker;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;



public class MainActivity extends Activity {
	private TimePicker timePicker;
	private DatePicker datePicker;
	private TextView textView;
	private int year,month,day,hour,minute;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        getCurrentTime();
        setPicker();
    }
	private void setPicker() {
		//设置时间选择器为24小时制
		timePicker.setIs24HourView(true);
		timePicker.setCurrentHour(hour);
		timePicker.setCurrentMinute(minute);
		timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
			
			@Override
			public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
				System.out.println("From timePicker"+arg1+":"+arg2);
				
			}
		});
		datePicker.init(year, month, day, new OnDateChangedListener() {
			
			@Override
			public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
				System.out.println("From datePicker"+arg1+"年"+(arg2+1)+"月"+arg3+"日");
				
			}
		});
	}
	private void getCurrentTime() {
		Calendar c=Calendar.getInstance();
		year=c.get(c.YEAR);
		month=c.get(c.MONTH);
		day=c.get(c.DAY_OF_MONTH);
		hour=c.get(c.HOUR);
		minute=c.get(c.MINUTE);
		
	}
	private void initView() {
		timePicker=(TimePicker) findViewById(R.id.timePicker);
        datePicker=(DatePicker) findViewById(R.id.datePicker);
        textView=(TextView) findViewById(R.id.textView);
	}


  
}

http://img1.sycdn.imooc.com/climg//593cd7d1000149ce04000403.jpg为什么我设置的24小时制无效,代码是中午敲的。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
没有马甲线的安琪拉 2017-06-12 09:46:22

你看一下模拟器的设置里面的时区,如果不是中国,也可能出问题。

irista23 2017-06-11 21:49:59

参考如下代码,把hour的值重新设置一下试试:

timePicker.setCurrentHour(Calendar.get(Calendar.HOUR_OF_DAY));

  • 提问者 慕婉清9984016 #1
    还是不行,这个24小时还是相反,白天早上9点反而显示21点
    2017-06-12 09:08:34
  • irista23 回复 提问者 慕婉清9984016 #2
    你是模拟器还是真机,如果是模拟器,它时间得设置成+8区时间
    2017-06-12 10:00:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师