按着北京-时间/手机-时间 每10分钟开始一次倒计时
来源:互联网 发布:删除表数据的sql语句 编辑:程序博客网 时间:2024/04/30 03:48
自己写的代码 有点乱 请多见谅!(文章中---打印部分内容请忽略---为的是调试的时候看执行到哪里,还有数据的对错)
首先 定义一个类,用来存放信息----------------------------------------------------------------方法1
public void timer(){ String local = "GMT+8"; cal = new GregorianCalendar(TimeZone.getTimeZone(local)); cal.setTimeInMillis(Calendar.getInstance().getTimeInMillis()); String time = cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND); System.out.println("TimeTest.method3() date="+time); System.out.println("---------------"+"miao"+cal.get(Calendar.SECOND)+"---------------------------------"); System.out.println("---------------"+"fen"+cal.get(Calendar.MINUTE)+"---------------------------------"); //这里得到 小时 ----注意:这里是24小时制,项目中因为在每天10点--22点 从10点开始每10分钟开始一次倒计时,朋友根 // 据情况---自行修订 ----判断就不多说了
hour=cal.get(Calendar.HOUR_OF_DAY); if(hour>=10&&hour<22) { miao = 60 - cal.get(Calendar.SECOND); System.out.println("---------------" + "miao-----" + miao + "---------------------------------");
//下方的判断 解释:因为每次都是从第10分钟开始倒计时 如9分59秒--9分58秒---0分0秒---9分59秒------明白?? int getminute=cal.get(Calendar.MINUTE); if(cal.get(Calendar.MINUTE)>0&&cal.get(Calendar.MINUTE)<10){ fen=9-cal.get(Calendar.MINUTE); System.out.println("--------1----------"+fen+"-----------1--------"); }else if(cal.get(Calendar.MINUTE)>10&& cal.get(Calendar.MINUTE)<20){ fen=9-(cal.get(Calendar.MINUTE)-10); System.out.println("---------2---------"+fen+"----------2---------"); }else if(cal.get(Calendar.MINUTE)>20&& cal.get(Calendar.MINUTE)<30){ fen=9-(cal.get(Calendar.MINUTE)-20); System.out.println("--------3----------"+fen+"----------3---------"); }else if(cal.get(Calendar.MINUTE)>30&& cal.get(Calendar.MINUTE)<40){ fen=9-(cal.get(Calendar.MINUTE)-30); System.out.println("---------4---------"+fen+"--------4-----------"); }else if(cal.get(Calendar.MINUTE)>40&& cal.get(Calendar.MINUTE)<50){ fen=9-(cal.get(Calendar.MINUTE)-40); System.out.println("-----------5-------"+fen+"---------5----------"); }else if(cal.get(Calendar.MINUTE)>50&& cal.get(Calendar.MINUTE)<60){ fen=9-(cal.get(Calendar.MINUTE)-50); System.out.println("----------6--------"+fen+"--------6-----------"); }else if(getminute==0||getminute==10||getminute==20||getminute==30||getminute==40||getminute==50||getminute==60){ fen=9;
//上方 判断是否是0 或者10.。。。。必须要写 否则每次到0开始又重新倒计时的时候就会依赖上次的时间开始 } //计一个总数 给下方 用 count=miao*1000+fen*60000;
//这里调用了下方的方法 给其赋值 mc = new MyCountDownTimer(count, 1000); mc.start(); }else { mtv_times.setText("--"+"秒"); mtv_fen.setText("--"+"分"); }}
//下方的方法是没隔多长时间 调用一回-----------------------------------方法2
class MyCountDownTimer extends CountDownTimer { /** * * * * @param millisInFuture * * 表示以毫秒为单位 倒计时的总数 * * * * 例如 millisInFuture=1000 表示1秒 * * * * @param countDownInterval * * 表示 间隔 多少微秒 调用一次 onTick 方法 * * * * 例如: countDownInterval =1000 ; 表示每1000毫秒调用一次onTick() * * * */ public MyCountDownTimer(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onTick(long millisUntilFinished) { mtv_fen.setText(millisUntilFinished/60000+"分"); long cc= millisUntilFinished / 1000; System.out.println("------cc"+cc+"----------------------"); long jj=millisUntilFinished / 60000; System.out.println("------jj"+jj+"----------------------"); long jjs=jj*60; System.out.println("------jjs"+jjs+"----------------------"); long mm=cc-jjs; if(cc==jjs){ mtv_times.setText(mm+"秒"); }else { mtv_times.setText(mm-1+"秒"); } } @Override public void onFinish() { if (mc!=null){ mc.cancel(); mc=null; }//这里很关键了, 为的就是当我倒计时为0分0秒的时候在重新调用一下这个方法 然后再重新开始倒计时-----不多说了 timer(); }}//销毁 --------------------道理你懂得---------------------------方法3@Overridepublic void onDestroy() { super.onDestroy(); if (mc!=null){ mc.cancel(); }}//开启----------------------------项目运行开启--------方法4@Overridepublic void onStart() { super.onStart(); //调用这个倒计时 timer();}//自己生命的一些变量-----------------------------------变量---供参考mtv_times=(TextView)mV.findViewById(R.id.tv_times);//秒mtv_fen=(TextView)mV.findViewById(R.id.tv_fen);//分private Calendar cal;private int fen;private int miao;private int hour;private int count;private TextView mtv_times;private TextView mtv_fen;private MyCountDownTimer mc;//布局文件就不给大家看了 很简单 就是一个布局放了2个-----textview好的 希望可以帮到大家!如有疑问 请随时联系---me
1 0
- 按着北京-时间/手机-时间 每10分钟开始一次倒计时
- 【SQL】按每5分钟生成全天的时间列表
- 超简单的时间分钟秒钟倒计时
- 活动开始和截止时间倒计时
- 时间倒计时
- 时间倒计时
- 时间倒计时
- 时间倒计时
- 时间倒计时
- 时间倒计时
- crontab及每15分钟同步服务器的时间
- crontab及每15分钟同步服务器的时间
- crontab及每15分钟同步服务器的时间
- crontab及每15分钟同步服务器的时间
- crontab及每15分钟同步服务器的时间
- MediaRecorder录像实现时间分段(每10秒stop一次,之后继续录像)
- 倒计时更新组件 每秒更新一次时间文字
- 如果每15分钟提交一次数据,则一天中应有96条数据。如有镂空,则补全没有提交的数据时间
- apue:UNIX进程的环境
- selenium入门
- Redis命令初学记录
- 模块化
- redis集群安装脚本
- 按着北京-时间/手机-时间 每10分钟开始一次倒计时
- visual studio 单元测试
- 八、手把手教MapReduce 单词统计案例编程
- HDU1411-校庆神秘建筑(四面体体积)
- NYOJ 599 奋斗的蜗牛
- 自定义评星控件
- OpenJudge 简单的整数划分问题(递归)
- AMD与CMD区别
- 装船问题