aide安卓编程13-日期和时间

package com.baobao.sayhello;

import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.util.*;
class mview extends View{//自定义一个叫mview的新类型,继承View
    public mview(Context con){//构造(初始化)函数
        super(con);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh)
    {
        //窗口大小改变时触发
        super.onSizeChanged(w, h, oldw, oldh);
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        //绘图时触发
        super.onDraw(canvas);
        Paint p=new Paint();
        p.setColor(Color.rgb(255,255,0));
        p.setTextSize(100);
        Calendar c=Calendar.getInstance();//新建日期时间c
        c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));//设定时区(中国)
        int y=c.get(Calendar.YEAR),m=c.get(Calendar.MONTH)+1,d=c.get(Calendar.DATE);//获得年月日
        canvas.drawText(String.valueOf(y)+"年"+String.valueOf(m)+"月"+String.valueOf(d)+"日",0,100,p);
        int h=c.get(Calendar.HOUR),mi=c.get(Calendar.MINUTE),s=c.get(Calendar.SECOND);//获得时分秒
        canvas.drawText(String.valueOf(h)+"时"+String.valueOf(mi)+"分"+String.valueOf(s)+"秒",0,200,p);
        int w=c.get(Calendar.DAY_OF_WEEK)-1;//获得星期几(0表示周日)
        canvas.drawText("周"+String.valueOf(w),0,300,p);
        long ms=System.currentTimeMillis();//获得1970年1月1日的凌晨12点距今的毫秒数
        p.setTextSize(50);
        canvas.drawText("1970年1月1日的凌晨12点距今"+String.valueOf(ms)+"毫秒",0,400,p);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event)
    {
        //触控屏幕时触发
        invalidate();//重画屏幕
        return true;//返回真,表示已处理消息
    }
}
public class MainActivity extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        mview view=new mview(this);//新建一个叫view的mview
        setContentView(view);//把view设为整个界面
    }
}
效果

当手指触屏或滑动时可以看到当前时间在不断变化。

以上获取的时间是12小时制的。24小时制的小时数用Calendar.HOUR_OF_DAY

或者可以获取现在是上午还是下午,计算出24小时制的时间。绘图部分改为:

Paint p=new Paint();
        p.setColor(Color.rgb(255,255,0));
        p.setTextSize(100);
        Calendar c=Calendar.getInstance();//新建日期时间c
        c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));//设定时区(中国)
        int h=c.get(Calendar.HOUR);
        if(c.get(Calendar.AM_PM)==Calendar.AM)//如果上午
            canvas.drawText("上午,24小时制为"+String.valueOf(h)+"时",0,100,p);
        else if(c.get(Calendar.AM_PM)==Calendar.PM)//如果下午
            canvas.drawText("下午,24小时制为"+String.valueOf(12+h)+"时",0,100,p);
效果

你可能感兴趣的:(aide安卓编程13-日期和时间)