Textview 如何在Android中使用setText获取系统时间?

Textview 如何在Android中使用setText获取系统时间?,textview,android,Textview,Android,我是Android开发新手。请帮我解决这个问题 我想访问计数器中的系统时间,即setText。至于现在,我已经使用了一些随机的日期和时间,但我想把它改为当前的日期和时间 代码如下: package countdowntimer.android; import java.util.Date; import java.text.NumberFormat; import java.text.SimpleDateFormat; import java.util.concurrent.TimeUnit

我是Android开发新手。请帮我解决这个问题

我想访问计数器中的系统时间,即
setText
。至于现在,我已经使用了一些随机的日期和时间,但我想把它改为当前的日期和时间

代码如下:

package countdowntimer.android;


import java.util.Date;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.concurrent.TimeUnit;
import android.os.CountDownTimer;
import android.os.SystemClock;
import android.app.Activity;
import android.net.ParseException;
import android.os.Bundle;
import android.provider.Settings.System;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MActivity extends Activity {

        TextView day,hour,min,sec;
        int iDay,iHour,iMin,iSec;
        MyCount counter;
        Date endDate = null;
        Date startDate = null;
        NumberFormat myFormat = NumberFormat.getInstance();

        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");


        day=(TextView)findViewById(R.id.day);
        hour=(TextView)findViewById(R.id.hour);
        min=(TextView)findViewById(R.id.min);
        sec=(TextView)findViewById(R.id.sec);
        myFormat.setMinimumIntegerDigits(2);
        final EditText end=(EditText)findViewById(R.id.end);
        final EditText start=(EditText)findViewById(R.id.start);

            start.setText("2011-09-08-00:00:00");


            Button btnStart=(Button)findViewById(R.id.btnstart);
        btnStart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
        try {

        try {
            endDate = outputFormat.parse(end.getText().toString());
            startDate=outputFormat.parse(start.getText().toString());


        } catch (java.text.ParseException e) {
            // TODO Auto-generated catch block
            /*Toast.makeText(getBaseContext(), ex.getMessage()
                     ,Toast.LENGTH_SHORT).show();*/
        }


        long diffInMis= endDate.getTime() - startDate.getTime();
        if(diffInMis<0){
         Toast.makeText(getBaseContext(), "Please, Enter valid Time..."
             ,Toast.LENGTH_SHORT).show();
        }
        else{
        long diff = TimeUnit.MILLISECONDS.toSeconds(diffInMis);
        iDay=(int) (diff/(60*60*24));
        long lday= (diff%(60*60*24));
        iHour=(int)(lday/3600);
        long lhour= (lday%(60*60));
        iMin=(int)(lhour/60);
        long lmin= (lhour%(60));
        iSec=(int)(lmin);
        day.setText(String.valueOf(iDay).toString()+" Day ");
        hour.setText(String.valueOf(myFormat.format(iHour)).toString());
        min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
        sec.setText(":"+String.valueOf(myFormat.format(iSec)).toString());
        counter = new MyCount(iSec*1000,1000);
        counter.start();}
        } catch (ParseException e) {
        e.printStackTrace();
        }   };     });
        Button btnStop=(Button)findViewById(R.id.btnstop);
        btnStop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
        counter.cancel();
        }         }); }
        public class MyCount extends CountDownTimer{
        public MyCount(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
        }
        @Override
        public void onFinish() {
        counter = new MyCount(60000,1000);
        counter.start();
        iMin-=1;
        if(iMin>-1)
        min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
        else{
        iMin=59;
        min.setText(":"+String.valueOf(myFormat.format(iMin)).toString());
        iHour-=1;
        if(iHour>-1)
        hour.setText(String.valueOf(myFormat.format(iHour)).toString());
        else{
        iHour=11;
        hour.setText(String.valueOf(myFormat.format(iHour)).toString());
        iDay-=1;
        if(iDay>-1)
        day.setText(" "+String.valueOf(iDay).toString());
        else{
        day.setText("Time is over");
        hour.setText("");
        min.setText("");
        sec.setText("");
        counter.cancel();
        }}}}
        @Override
        public void onTick(long millisUntilFinished) {
        sec.setText(":"+String.valueOf(myFormat.format(millisUntilFinished/1000)));
        }}}
package countdowntimer.android;
导入java.util.Date;
导入java.text.NumberFormat;
导入java.text.simpleDataFormat;
导入java.util.concurrent.TimeUnit;
导入android.os.CountDownTimer;
导入android.os.SystemClock;
导入android.app.Activity;
导入android.net.ParseException;
导入android.os.Bundle;
导入android.provider.Settings.System;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入android.widget.Toast;
公共类活动扩展了活动{
text查看日期、小时、分钟、秒;
国际日、国际时、国际时、国际时;
计数计数器;
Date endDate=null;
日期startDate=null;
NumberFormat myFormat=NumberFormat.getInstance();
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
最终SimpleDateFormat outputFormat=新SimpleDateFormat(“yyyy-MM-dd HH:MM:ss”);
day=(TextView)findViewById(R.id.day);
小时=(文本视图)findViewById(R.id.hour);
min=(TextView)findViewById(R.id.min);
sec=(TextView)findViewById(R.id.sec);
myFormat.setMinimumIntegerDigits(2);
final EditText end=(EditText)findViewById(R.id.end);
final EditText start=(EditText)findViewById(R.id.start);
start.setText(“2011-09-08-00:00:00”);
按钮btnStart=(按钮)findViewById(R.id.btnStart);
btnStart.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图arg0){
试一试{
试一试{
endDate=outputFormat.parse(end.getText().toString());
startDate=outputFormat.parse(start.getText().toString());
}catch(java.text.parsee){
//TODO自动生成的捕捉块
/*Toast.makeText(getBaseContext(),例如getMessage())
,Toast.LENGTH_SHORT)show()*/
}
long diffInMis=endDate.getTime()-startDate.getTime();
if(diffInMis-1)
min.setText(“:”+String.valueOf(myFormat.format(iMin)).toString());
否则{
iMin=59;
min.setText(“:”+String.valueOf(myFormat.format(iMin)).toString());
iHour-=1;
如果(iHour>-1)
hour.setText(String.valueOf(myFormat.format(iHour)).toString());
否则{
iHour=11;
hour.setText(String.valueOf(myFormat.format(iHour)).toString());
iDay-=1;
如果(iDay>-1)
day.setText(“+String.valueOf(iDay.toString());
否则{
day.setText(“时间已过”);
hour.setText(“”);
min.setText(“”);
第setText节(“”);
counter.cancel();
}}}}
@凌驾
公共void onTick(长毫秒未完成){
sec.setText(“:”+String.valueOf(myFormat.format(millisuntiltfinished/1000));
}}}

您可以使用时间访问系统

Calendar.getInstance();
int hh = cal.get(Calendar.HOUR_OF_DAY);//or
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String aux[] = sdf.format(cal.getTime()).split("/");//process the array from here
请注意,您必须

import java.util.Calendar;

您可以使用时间访问系统

Calendar.getInstance();
int hh = cal.get(Calendar.HOUR_OF_DAY);//or
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
String aux[] = sdf.format(cal.getTime()).split("/");//process the array from here
请注意,您必须

import java.util.Calendar;

thanx请求帮助,但我想修改我的start.setText(“2011-09-08-00:00:00”);以显示当前时间和日期的方式…请帮我解决这个问题..是的..实际上它是一个计时器,它自己获取系统的时间和日期,并与日期匹配,即:end date,并启动计时器=end date start date.SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);start.setText(sdf.format(Calendar.getInstance().getTime“:”+Calendar.getInstance().get(Calendar.HOUR OF the_DAY)+“:”+Calendar.getInstance().get(Calendar.MINUTES)+“:“+Calendar.getInstance().get(Calendar.SECONDS));@Tepes Lucian…..Thanx很多..先生..它奏效了..我真的很感谢你..Thanx a tob..-)如果@Tepes提供了正确的答案,你可以(也应该这样做)点击左边的绿色勾号接受帮助,但我想修改我的start.setText(“2011-09-08-00:00:00”);以显示当前时间和日期的方式…请帮我解决这个问题..是的..实际上它是一个计时器,它自己获取系统的时间和日期,并与日期匹配,即:end date,并启动计时器=end date start date.SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);start.setText(sdf.format(Calendar.getInstance().getTime“:”+Calendar.getInstance().get(Calendar.HOUR OF the_DAY)+“:”+Calendar.getInstance().get(Calendar.MINUTES)+“:“+Calendar.getInstance().get(Calendar.SECONDS));@Tepes Lucian…..Thanx很多..先生..它奏效了..我真的很感谢你..Thanx a tob..-)如果@Tepes提供了正确的答案,你可以(也应该这样做)通过单击左侧的绿色勾号接受它。