24小时制的问题

24小时制的问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
您的移动学习伙伴

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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