Android 时间戳学习笔记

(1).定义: 时间戳就是根据当前系统时间减去格林威治时间后的一组数字。

(2).作用: 唯一地标识某一时刻。

在其他博客上了解到时间戳的具体应用点击打开链接

(3).应用:

**·**在银行account表中建立时间戳字段timestamp,设定为文本类型varchar。

**·**当银行A读取account表中的存款字段时,同时也读取时间戳字段,比如123456。

**·**当银行A修改完存款数值后,进行存盘操作时,将先前读取的时间戳123456与当时表中的时间戳进行一次对比,如果一致,那么允许存盘,然后生成一个新的时间戳比如456789替换表中原有的时间戳123456。

若没有使用时间戳:

银行A和银行B同时打开你的账户,看到的金额都是1000元。与此同时,两个银行读取的时间戳都是12345.

若使用时间戳:

当银行A打开账户的时候,把1000元改成1500元,存盘,系统将对比先前的时间戳与存盘时表中的时间戳是否一致,现在致,允许存盘。存盘时,将生成了一个新的时间戳45678。B银行也将1000元修改成了1500元,存盘,系统对比先前的时间戳3456是否与存盘时表中的时间戳一致,发现先前的时间戳123456已经与现在的时间戳456789相异,系统拒绝存盘,要求刷新数据,那么数据刷新之后1000元已经因为之前A银行存入了500元而成为了1500元,那么B银行就会在1500元的基础上改为2000元,再次存盘,系统允许.

简而言之:就是在操作的时候,通过对比修改之前的数据表中的时间戳与修改之后的数据表中的时间戳是否一致。

若一致,允许存储,同时生成一个新的时间戳。

若不一致,就要求刷新数据,在新的数据上进行修改。再次存储。

二、如何使用时间戳

=========

将时间戳转换为时间

Long timestamp = System.currentTimeMillis();//获取系统的当前时间戳 SimpleDateFormat sdf = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");//格式化日期 Date date = new Date(timestamp); String datetime = formatter.format(date);

原理:

currentTimeMillis方法返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。

SimpleDateFormat函数的继承关系:

java.lang.Object

java.text.Format

java.text.DateFormat

java.text.SimpleDateFormat

SimpleDateFormat是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。

格式化时相对应的字母表的含义

| Symbol | Meaning | Kind | Example |

| — | :-: | --: | — |

| D | day in year | (Number) | 189 |

| E | day of week | (Text) | E/EE/EEE:Tue, EEEE:Tuesday, EEEEE:T |

| F | day of week in month | (Number) | 2 (2nd Wed in July) |

| G | era designator | (Text) | AD |

| H | hour in day (0-23) | (Number) | 0 |

| K | hour in am/pm (0-11) | (Number) | 0 |

| L | stand-alone month | (Text) | L:1 LL:01 LLL:Jan LLLL:January LLLLL:J |

| M | month in year | (Text) | M:1 MM:01 MMM:Jan MMMM:January MMMMM:J |

| S | fractional seconds | (Number) | 978 |

| W | week in month | (Number) | 2 |

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618165277)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值