这个要求用的不多,但是也有写项目上面不想看手机时间,要求你直接把时间日期给动态显示在界面上 这里就记录一个自定义控件吧

public class UpdateTimeTextView extends AppCompatTextView {private String TAG = "UpdateTimeTextView";private Thread runnable;private boolean mBoolean = true;Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {UpdateTimeTextView.this.setText((String) msg.obj);}};private String DEFAULT_TIME_FORMAT = "yyyy-MM-dd       HH:mm:ss       ";public UpdateTimeTextView(Context context) {super(context);Log.e(TAG, "UpdateTimeTextView: 1");}public UpdateTimeTextView(Context context, AttributeSet attrs) {super(context, attrs);init();//加载方法Log.e(TAG, "UpdateTimeTextView: 2");}public UpdateTimeTextView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);Log.e(TAG, "UpdateTimeTextView: 3");}@Overrideprotected void onDetachedFromWindow() {super.onDetachedFromWindow();mBoolean = false;Log.e(TAG, "onDetachedFromWindow:关闭循环 ");}/*** 更新时间*/private void init() {runnable = new Thread() {@Overridepublic void run() {while (mBoolean) {Calendar mCalendar = Calendar.getInstance();SimpleDateFormat dateFormatter = new SimpleDateFormat(DEFAULT_TIME_FORMAT);String time = dateFormatter.format(Calendar.getInstance().getTime());//获取当前时间String mWay = String.valueOf(mCalendar.get(Calendar.DAY_OF_WEEK));//获取星期if ("1".equals(mWay)) {mWay = "天";} else if ("2".equals(mWay)) {mWay = "一";} else if ("3".equals(mWay)) {mWay = "二";} else if ("4".equals(mWay)) {mWay = "三";} else if ("5".equals(mWay)) {mWay = "四";} else if ("6".equals(mWay)) {mWay = "五";} else if ("7".equals(mWay)) {mWay = "六";}String tiems = time + "星期" + mWay;Log.e(TAG, "run: " + time + "1231231");handler.sendMessage(handler.obtainMessage(100, tiems));try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}};runnable.start();}//根据毫秒时间获取格式化的提示 按自己实际要求来写private String convertTimeToFormat(long timeMills) {long curTime = Calendar.getInstance().getTimeInMillis();long time = (curTime - timeMills) / (long) 1000;//已经将单位转换成秒if (time > 0 && time < 60) {return "刚刚";} else if (time >= 60 && time < 3600) {return time / 60 + "分钟前";} else if (time >= 3600 && time < 3600 * 24) {return time / 3600 + "小时前";} else if (time >= 3600 * 24 && time < 3600 * 24 * 30) {return time / 3600 / 24 + "天前";} else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) {return time / 3600 / 24 / 30 + "个月前";} else if (time >= 3600 * 24 * 30 * 12) {return time / 3600 / 24 / 30 / 12 + "年前";} else {return "刚刚";}}
}

效果图就看下面

我这个是直接截图静态的,有需要的话可以自己直接开个程序跑一下就知道了

布局的话

            <com.ewininfo.testproject.UpdateTimeTextViewandroid:id="@+id/up_time"android:layout_width="0dp"android:layout_height="50dp"android:layout_weight="1"android:gravity="center"android:text=""android:textSize="25sp"android:textStyle="bold"/>

直接这样一个就行了 界面上不需要操作 会自动刷新

下面是文件下载:

文件类下载

Android自定义控件动态显示时间 年月日 时分秒相关推荐

  1. Android java时间戳转年月日时分秒(三十七)

    Android java时间戳转年月日时分秒 public String getCurrentTime(long value) {SimpleDateFormat format = new Simpl ...

  2. HTML获取当前时间年月日时分秒等相关信息

    HTML获取当前时间年月日时分秒等相关信息 [方式一]获取整段时间 <!DOCTYPE html> <html lang="en"> <head> ...

  3. html让时间只展示年月日_JS 如何动态显示当前年月日时分秒-百度经验

    完整示例代码: JS 动态显示年月日时分秒当前时间为:

  4. oracle 当前时间年月日时分秒,oracle存储精确时间 年月日 时分秒

    我用的是ibatis框架 为了做一个聊天功能,发现不能显示最新的消息,一看,原来oracle中存入的时间不对 oracle中要存入 年月日 时分秒首先要把 oracle中这列设置为 timestamp ...

  5. 获取当前时间---年月日时分秒------iOS

    方式一:XXXX年-XX月-XX日  XX时:XX分:XX秒的格式 - (IBAction)LoginAction:(UIButton *)sender { NSDate *date = [NSDat ...

  6. android获取系统当前年月日时分秒的时间

    2019独角兽企业重金招聘Python工程师标准>>> package itokit.com; import android.app.Activity; import android ...

  7. java如何获取当前时间 年月日 时分秒

    需要导包 import java.text.SimpleDateFormat; import java.util.*; 获取当前时间,并格式化为(年-月-日 时:分:秒). Date date = n ...

  8. java 服务器 时间_java 获取服务器的时间,年月日时分秒

    import java.util.Calendar; public class SysDate { public static void main(String[] args) { Calendar ...

  9. Android java时间戳转年月日时分秒

    public String getCurrentTime(long value) {SimpleDateFormat format = new SimpleDateFormat("yyyy- ...

最新文章

  1. Webservices
  2. vue中怎么点击修改文字_Vue.js点击切换按钮改变内容
  3. MyEclipse设置像visual studio一样的智能提示
  4. SpringBoot的@SpringBootApplication注解和其他几个注解
  5. web前端面试问答_Web服务面试问答
  6. excel未完全加载怎么办_你知道如何改变Excel的打开姿势吗?
  7. 计数原理,递推,求从左边能看到l个棒子,右边能看到r个棒子的方案数目
  8. 【其他】命名风格之unix like风格,Windows风格,ST固件库风格,驼峰命名
  9. 现在的手机电池为什么不可拆卸?真相太真实了...
  10. 如何下载B站视频到本地?
  11. 面试后要请你吃饭_面试官发出这5个信号,暗示你面试基本成功了,请做好准备!...
  12. ZYNQ PL 添加IP 串口UART AXI UART16550
  13. 非安全黑客手册0911PDF电子书 下载
  14. 窗口根据屏幕分辨率自动调整大小
  15. ENSP中ACL,NAT配置
  16. afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requi
  17. 数据分析入门书籍,你看过几本
  18. 拉格朗日乘子法(Lagrange Multiplier)详解以及乘子lambda的意义
  19. ACM 投稿时CCS CONCEPTS 生成及插入
  20. 小程序 点击图片放大预览

热门文章

  1. TF-IDF的简单理解
  2. Agora SDK 在Android中的使用(在线视频通话)| 掘金技术征文
  3. 手动实现 SpringBoot 日志链路追踪,无需引入组件,日志定位更方便!
  4. 51电动车报警器.md
  5. 首师大附中OJ系统 0023 特殊的方程
  6. 动态令牌离线生成机制探究(2FA TOTP)
  7. 如何快速搭建实用的爬虫管理平台
  8. printf在c++使用
  9. [CV] Rotated IoU 计算旋转矩形之间的重叠面积
  10. SPDA三维管道辅助设计系统