为什么按老师的代码,把时间设为24小时制,获取的时间有问题

为什么按老师的代码,把时间设为24小时制,获取的时间有问题

如下代码,注释行注释掉前,即按老师的代码,出现的时间有误,如图一(错误在于真机(版本8.1)时间是16:30,而按24小时制,显示为4:30);而将代码中相关代码如下注释掉后,能如图二正常显示,但不能显示为24小时制时间。

Tips:视频中特意说明的Android 6.0之后的版本设置当前时间的方法为setHour和setMinute,而我的eclipse所选安卓版本是4.0-4.4(因为我的eclipse只支持最高4.4),所以我只能实验setCurrentHour和setCurrentMinute,而我真机的安卓版本为8.1,这是不是产生以上问题的原因,如果是的话,我该怎么做才能显示正确的24小时制时间呢

package com.example.datetimepicker;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;


public class MainActivity extends Activity {
	
//	private TimePicker tP;
//	private DatePicker dP;
//	private TextView tV;
//	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 getCurrentTime() {
//		Calendar calendar = Calendar.getInstance();
//		Year = calendar.get(Calendar.YEAR);
//		Month = calendar.get(Calendar.MONTH);
//		Day = calendar.get(Calendar.DAY_OF_MONTH);
//		Hour = calendar.get(Calendar.HOUR);
//		Minute = calendar.get(Calendar.MINUTE);
//		
//	}
//
//
//	private void setPicker() {
//		tP.setIs24HourView(true);
//		tP.setCurrentHour(Hour);
//		tP.setCurrentMinute(Minute);
//		
//	}
//
//
//	private void initView() {
//		tP = (TimePicker) findViewById(R.id.tP);
//		dP = (DatePicker) findViewById(R.id.dP);
//		tV = (TextView) findViewById(R.id.tV);
//		
//		
	}
//

}
<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:orientation="vertical" >

    <TimePicker 
        android:id="@+id/tP"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
    
    <DatePicker 
        android:id="@+id/dP"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

    <TextView 
        android:id="@+id/tV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="显示当前日期时间"
        />
    
    
</LinearLayout>

http://img1.sycdn.imooc.com//climg/5c9f2cef0001191007571600.jpg

http://img1.sycdn.imooc.com//climg/5c9f2cef0001161a07571600.jpg


正在回答

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

1回答

Calendar.HOUR_OF_DAY就是24小时制的。祝:学习愉快

  • 慕沐020336 提问者 #1
    确实是24小时制,但是显示的时间不对啊,真机上时间是16:30.但是显示的是4:30,按照24小时制不应该显示16:30吗?
    2019-03-31 13:25:33
  • 慕沐020336 提问者 #2
    谢谢老师,刚刚理解老师的回复有误,如今已解决问题
    2019-03-31 14:29:06
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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