Android个人学习笔记之实战时间的获取相关-DateUtils

article/2025/10/12 13:48:32

前言:在近期的项目编写过程中,看到了时间工具类DateUtil,虽然大致的用法已经清楚,但是对于这个类还是有一定的不解,很多类型并不知道实际的效果如何,所以就结合Android的API,实战来测试不同的效果,在此记录下来,以供后期查阅与分享。
引用:百度了不少的博文,但是大都没有很详细的去描述,所以在参看一定的博文的基础上又添加了一些新的内容,如果有兴趣可以查看这位博主的介绍:点击打开(http://blog.csdn.net/landehuxi/article/details/42710673)

  1. API解释-点击打开
    Android.text.format
    **DateUtils:**This class contains various date-related utilities for creating text for things like elapsed time and date ranges, strings for days of the week and months, and AM/PM text etc.
    DateUtils:这个类包含了各种与日期相关的工具,用于创建诸如经过的时间和日期范围的字符串、星期和月的天数以及AM / PM文本等。
  2. 常用变量
    通过下面代码进行打印验证并得出结果,代码中打印的应该为String类型,第二个参数需要设置+“”来转换成String。
Log.e("SECOND_IN_MILLIS",DateUtils.SECOND_IN_MILLIS);
Log.e("MINUTE_IN_MILLIS",DateUtils.MINUTE_IN_MILLIS);
Log.e("HOUR_IN_MILLIS ",DateUtils.HOUR_IN_MILLIS);
Log.e("DAY_IN_MILLIS",DateUtils.DAY_IN_MILLIS);
Log.e("WEEK_IN_MILLIS ",DateUtils.WEEK_IN_MILLIS );
Log.e("YEAR_IN_MILLIS ",DateUtils.YEAR_IN_MILLIS );

这里写图片描述

【参见引用】
DateUtils.SECOND_IN_MILLIS 常量,值为”1000”,表示1秒的字符串形式
DateUtils.MINUTE_IN_MILLIS 常量,值为”60000”,表示1分钟的字符串形式
DateUtils.HOUR_IN_MILLIS 常量,值为”3600000”,表示1小时的字符串形式
DateUtils.DAY_IN_MILLIS) 常量,值为”86400000”,表示1天的字符串形式
DateUtils.WEEK_IN_MILLIS 常量,值为”604800000”,表示1星期的字符串形式
DateUtils.YEAR_IN_MILLIS 常量,值为”31449600000”,表示1年的字符串形式
日期时间获取与显示:
这里写图片描述
【参看引用】代码因为在fragment运行所以使用getActivity():

String FORMAT_ABBREV_ALL = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_ALL);          //1月14日
String FORMAT_ABBREV_MONTH = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_MONTH);        //1月14日
String FORMAT_ABBREV_RELATIVE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_RELATIVE);     //1月14日
String FORMAT_ABBREV_TIME = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_TIME);         //1月14日
String FORMAT_ABBREV_WEEKDAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_ABBREV_WEEKDAY);      //1月14日
String FORMAT_NO_MIDNIGHT = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_MIDNIGHT);         //1月14日
String FORMAT_NO_MONTH_DAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_MONTH_DAY);        //一月
String FORMAT_NO_NOON = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_NOON);             //1月14日
String FORMAT_NO_YEAR = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NO_YEAR);             //1月14日
String FORMAT_NUMERIC_DATE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_NUMERIC_DATE);        //1/14
String FORMAT_SHOW_DATE = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_DATE);           //1月14日
String FORMAT_SHOW_TIME = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_TIME);           //15:38
String FORMAT_SHOW_WEEKDAY = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_WEEKDAY);        //星期三
String FORMAT_SHOW_YEAR = DateUtils.formatDateTime(getActivity(), System.currentTimeMillis(),DateUtils.FORMAT_SHOW_YEAR);           //2015年1月14日Log.e("FORMAT_ABBREV_ALL",FORMAT_ABBREV_ALL);
Log.e("FORMAT_ABBREV_MONTH",FORMAT_ABBREV_MONTH);
Log.e("FORMAT_ABBREV_RELATIVE",FORMAT_ABBREV_RELATIVE);
Log.e("FORMAT_ABBREV_TIME",FORMAT_ABBREV_TIME);
Log.e("FORMAT_ABBREV_WEEKDAY",FORMAT_ABBREV_WEEKDAY);
Log.e("FORMAT_NO_MIDNIGHT",FORMAT_NO_MIDNIGHT);
Log.e("FORMAT_NO_MONTH_DAY",FORMAT_NO_MONTH_DAY);
Log.e("FORMAT_NO_NOON",FORMAT_NO_NOON);
Log.e("FORMAT_NO_YEAR",FORMAT_NO_YEAR);
Log.e("FORMAT_NUMERIC_DATE",FORMAT_NUMERIC_DATE);
Log.e("FORMAT_SHOW_DATE",FORMAT_SHOW_DATE);
Log.e("FORMAT_SHOW_TIME",FORMAT_SHOW_TIME);
Log.e("FORMAT_SHOW_WEEKDAY",FORMAT_SHOW_WEEKDAY);
Log.e("FORMAT_SHOW_YEAR",FORMAT_SHOW_YEAR);

最终显示:
这里写图片描述

返回具体日期:
例1. 返回12月22日 下午4:50

DateUtils.formatDateTime(getActivity(),System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME| DateUtils.FORMAT_SHOW_DATE| DateUtils.FORMAT_ABBREV_ALL)

例2、返回 2016年12月22日星期四 17:04

System.currentTimeMillis(),DateUtils.FORMAT_24HOUR|DateUtils.FORMAT_SHOW_DATE|DateUtils.FORMAT_SHOW_TIME|DateUtils.FORMAT_SHOW_YEAR|DateUtils.LENGTH_LONG|DateUtils.FORMAT_ABBREV_MONTH));

如果需要返回自己需要的格式,根据上述的描述进行添加就可以了

备注:关于formatDateTime(Context context, long millis, int flags),但在int flags里面我们用到了|,也就是int的非运算。
下面看一个例子来认识这种运算:

int a = 0x01|0x00|0x10;System.out.println("a="+a);System.out.format( "%x ", a );

最后结果为a=17,11,当然第一个输出的是十进制,在我们定义的时候采用的是十六进制,非的意思也就是进行位或的运算,放到二进制里面00110000和11001100的与运算结果为11111100,也就是按位数0|1=1,1|1=1,0|0=0。
Java中的二进制表示为:

System.out.println("Java二进制7: "+Integer.toBinaryString(7));  
System.out.println("Java二进制-7:"+Integer.toBinaryString(-7));  

输出:
Java二进制7: 111
Java二进制-7: 11111111111111111111111111111001


http://chatgpt.dhexx.cn/article/FylCehIo.shtml

相关文章

什么是token和使用的意义

一、什么是token token (计算机术语) 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。 二、token的意义 令牌:代表执行某些操作的权利和对象,访…

Token

Token笔记 是什么SessionCookietoken 为什么Session和Cookie 区别:token和Session区别:Session缺陷token相比而言: 怎么做token工作流程:token结构: 是什么 web应用程序是使用HTTP协议来传送数据的。而HTTP是无状态的…

Java 中 Token 是什么,有哪些用途

简介 Token 是一种身份验证机制,通常由服务器生成并返回给客户端,客户端在后续的请求中携带 Token,以证明自己的身份。在 Java 中,Token 的应用场景非常广泛,例如用户登录、API 认证、OAuth 授权等等。 在用户登录的…

Token的作用及原理

讲到Token的作用和原理,网上有很多相关的技术文章,通过搜集整理并加入自己的理解体会,做一个总结整理,希望可以帮助到更多有需要的人。 1、token作用及原理 Token,即令牌,是服务器产生的,具有…

Token和Jwt的区别

Token基本原理 Token(就是加密的字符串,使用MD5,等不可逆加密算法,一定要保证唯一性) 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功,服务端会签发一个Token保存到(Session,redis,mysql…)中,然后再把这个 …

什么是token及怎样生成token

什么是token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。 基…

token是什么?

token的意思是令牌,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token,并将token返回给客户端,之后客户端只需要带上这个token前来请求数据即可,无需再带…

Token是什么 Token登录认证

Token 是在服务端产生的一串字符串。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库&a…

什么是Token(令牌)

Acess Token 访问资源接口(API)时所需要的资源凭证 简单token 的组成: uid(用户唯一的身份标识) 、time (当前时间的时间戳) ,sign(签名,token的前几位以hash算法压缩成的一定长度的16进制字符…

什么是token?token是用来干嘛的?

相信很多从事计算机行业的朋友都听说过token这么个东西,但是其他行业的人就很少了解到token,下面就给大家来详细介绍一下token是什么意思?token是用来干嘛的这一块的内容,希望能帮助到大家。 🏻 token是什么意思 作为…

究竟什么是token??

基于服务器验证方式的验证流程: 我们都是知道HTTP协议是无状态的,这种无状态意味着程序需要验证每一次请求,从而辨别客户端的身份。在这之前,程序都是通过在服务端存储的登录信息来辨别请求的。这种方式一般都是通过存储Session来…

python 处理 MovieLens 数据

文章目录 一、总述二、处理流程1. 处理 users 数据2. 处理 movies 数据3. 处理 ratings 数据4. 将 users、movies 和 ratings 数据合并5. one-hot 处理6. 完整代码 一、总述 该文记录处理 MovieLens-1m 数据集的步骤,首先分别处理用户、电影和评分数据,…

电影数据集总结:Netflix、MovieLens、LDOS-CoMoDa、AdomMovie

数据集: 1.Netflix 描述:包含Netflix上48万多个随机选取的匿名用户,对于1万7千多部电影的1兆多个电影评分 时间:1988.10~2005.11 内容: 包括training set,movie titles,probe set&#xff0…

从IMDB上爬取MovieLens数据集中的详细电影信息

文章目录 基于协同过滤的电影推荐系统数据集HTML页面分析爬虫代码运行时间百度网盘链接 基于协同过滤的电影推荐系统 用这个数据集实现了一个小型的电影推荐网站,GitHub代码 数据集 数据集是MovieLens提供的ml-latest-small https://grouplens.org/datasets/mov…

数据分析实例:MovieLens电影数据分析

数据分析实例:MovieLens电影数据分析 数据准备 数据集来源:grouplens.org/datasets/movielens/ 下载 ml-1m.zip,read me 中有电影评分介绍 MovieLens 1M电影分级。 稳定的基准数据集。 6000个用户观看4000部电影时获得100万个评分。 发布2…

Spark Hive实现基于协同过滤的电影推荐(MovieLens数据集)

这篇文章记录一下我之前做过的通过Spark与Hive实现的基于协调过滤的电影推荐。这篇文章只能提供算法、思路和过程记录,并没有完整的代码,仅尽量全面地记录过程细节方便参考。 一、数据获取 数据集是从下面这个地址下载的,数据集主要内容是关…

基于用户的协同过滤Movielens电影推荐系统简单实例

基于用户的协同过滤Movielens电影推荐系统简单实例 一、Movielens数据集 1. MovieLens数据集的下载(Download) 1) 从网站下载数据 链接: https://grouplens.org/datasets/movielens/. 有好几种版本,对应不同数据量,…

ML之GB:基于MovieLens电影评分数据集利用基于图的推荐算法(Neo4j图数据库+Cypher查询语言)实现对用户进行Top5电影推荐案例

ML之GB:基于MovieLens电影评分数据集利用基于图的推荐算法(Neo4j图数据库Cypher查询语言)实现对用户进行Top5电影推荐案例 目录 基于MovieLens电影评分数据集利用基于图的推荐算法(Neo4j图数据库Cypher查询语言)实现对用户进行Top5电影推荐案例 1、定义数据集 1.…

从IMDB上爬取MovieLens-1m的补充数据(电影海报和简介)

文章主要内容 本人是想做推荐算法相关的一名在校生,目前想做多模态融合,而MovieLens-1m数据集只有电影信息和用户信息,于是有想法能否在原有的电影推荐公开数据集中而外获取电影海报(图片信息)和电影简介(…

对Movielens数据集进行评分预测

对Movielens数据集进行评分预测 实验源码:lab3代码.ipynb 实验环境:vscode colab 数据解释: movies.dat的数据如下 1::Toy Story (1995)::Animation|Childrens|Comedy 2::Jumanji (1995)::Adventure|Childrens|Fantasy 3::Grumpier Old…