电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Java中時間戳的獲取和轉(zhuǎn)換的示例分析

瀏覽:102日期:2022-08-28 09:54:52

日期時間是Java一個重要的數(shù)據(jù)類型,常見的日期時間格式通常為“yyyy-MM-dd HH:mm:ss”,但是計算機中存儲的日期時間并非字符串形式,而是長整型的時間戳。因為字符串又占用空間又難以運算,相比之下,長整型只占用四個字節(jié),普通的加減乘除運算更是不在話下,所以時間戳是最佳的日期時間存儲方案。獲取時間戳的代碼很簡單,只需調(diào)用System類的currentTimeMillis方法即可,如下所示:

// 從System類獲取當前的時間戳long timeFromSystem = System.currentTimeMillis();System.out.println('timeFromSystem='+timeFromSystem);

眾所周知,時間戳以毫秒為單位,為了求得它的計時起點,可以將其轉(zhuǎn)換時間單位,先把毫秒的數(shù)量轉(zhuǎn)成秒的數(shù)量,再把秒的數(shù)量轉(zhuǎn)成分鐘的數(shù)量,再把分鐘的數(shù)量轉(zhuǎn)成小時的數(shù)量,再把小時的數(shù)量轉(zhuǎn)成天的數(shù)量,最后把天的數(shù)量轉(zhuǎn)成年的數(shù)量。不過每年的天數(shù)不固定,像平年有365天,閏年有366天,按照四年一閏,平均每年的天數(shù)=(365+365+365+366)/4=365.25。于是把時間戳轉(zhuǎn)為年份數(shù)量的代碼就成了下面這樣:

int years = (int) (timeFromSystem/1000/60/60/24/365.25);System.out.println('years='+years);

運行上述轉(zhuǎn)換代碼,可見如下的輸出日志:

timeFromSystem=1595578123444years=50

由于當前年份是2020,從2020往前倒推50年,正好是1970年,原來時間戳是從1970年開始累加的呀。通過System類只是獲取時間戳的第一種方式,正如茴香豆的茴有四種寫法那樣,時間戳也有四種獲取方式,除了之前提到的System類,還有下列三種時間戳獲取方式:

1、從Date實例獲取時間戳

調(diào)用Date實例的getTime方法即可獲得對應(yīng)的時間戳,獲取代碼示例如下:

// 從日期實例獲取對應(yīng)的時間戳long timeFromDate = new Date().getTime();System.out.println('timeFromDate='+timeFromDate);

2、從Calendar實例獲取時間戳

調(diào)用Calendar實例的getTimeInMillis方法即可獲得對應(yīng)的時間戳,獲取代碼示例如下:

// 從日歷實例獲取對應(yīng)的時間戳long timeFromCalendar = Calendar.getInstance().getTimeInMillis();System.out.println('timeFromCalendar='+timeFromCalendar);

3、從LocalDateTime實例獲取時間戳

從LocalDateTime獲取時間戳稍微麻煩些,得先把LocalDateTime實例轉(zhuǎn)為Instant實例,再調(diào)用Instant實例的toEpochMilli方法獲得對應(yīng)的時間戳,獲取代碼示例如下:

// 從本地日期時間實例獲取對應(yīng)的時間戳LocalDateTime localDateTime = LocalDateTime.now();Instant instant1 = localDateTime.toInstant(ZoneOffset.ofHours(8));long timeFromLocal1 = instant1.toEpochMilli();System.out.println('timeFromLocal1='+timeFromLocal1);

上面獲取代碼基于北京時間,所以轉(zhuǎn)為Instant實例時使用了東八區(qū),倘若在東八區(qū)以外的其他地區(qū)運行上述代碼,就無法得到正確的當?shù)貢r間戳,此時要先設(shè)置當?shù)氐哪J時區(qū),再將LocalDateTime實例轉(zhuǎn)為Instant實例,獲取代碼示例如下:

Instant instant2 = localDateTime.atZone(ZoneId.systemDefault()).toInstant();long timeFromLocal2 = instant1.toEpochMilli();System.out.println('timeFromLocal2='+timeFromLocal2);

盡管時間戳的獲取方式多達四種,然而最高效的還是第一種System方式,它不但代碼最簡潔,時間消耗也最小。

有了時間戳之后,還能將它轉(zhuǎn)換為對應(yīng)的日期、日歷和本地日期時間。轉(zhuǎn)換過程說明如下:1、把時間戳轉(zhuǎn)換為Date類型,調(diào)用Date實例的setTime方法即可。2、把時間戳轉(zhuǎn)換為Calendar類型,調(diào)用Calendar實例的setTimeInMillis方法即可。3、把時間戳轉(zhuǎn)換為LocalDateTime類型,先調(diào)用Instant類的ofEpochMilli方法,把時間戳轉(zhuǎn)成Instant實例;再調(diào)用LocalDateTime類的ofInstant方法,把Instant實例轉(zhuǎn)成LocalDateTime實例。下面是把時間戳轉(zhuǎn)為日期、日歷和本地日期時間的代碼例子:

// 從System類獲取當前的時間戳long timestamp = System.currentTimeMillis();// 下面把時間戳轉(zhuǎn)換為日期實例Date date = new Date();date.setTime(timestamp);// 下面把時間戳轉(zhuǎn)換為日歷實例Calendar calendar = Calendar.getInstance();calendar.setTimeInMillis(timestamp);// 下面把時間戳轉(zhuǎn)換為本地日期時間實例Instant instant = Instant.ofEpochMilli(timestamp);LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());

到此這篇關(guān)于Java中時間戳的獲取和轉(zhuǎn)換的示例分析的文章就介紹到這了,更多相關(guān)Java 時間戳 獲取轉(zhuǎn)換內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 政府回应:200块在义乌小巷能买到爱情吗?——揭秘打工族省钱约会的生存智慧 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 密封无忧网 _ 专业的密封产品行业信息网 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 电磁铁_小型推拉电磁铁_电磁阀厂家-深圳市宗泰电机有限公司 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | QQ房产导航-免费收录优秀房地产网站_房地产信息网 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 杭州成人高考_浙江省成人高考网上报名 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 空气弹簧|橡胶气囊|橡胶空气弹簧-上海松夏减震器有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | SMC-SMC电磁阀-日本SMC气缸-SMC气动元件展示网 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | Pos机办理_个人商户免费POS机申请-拉卡拉办理网 | 伟秀电气有限公司-10kv高低压开关柜-高低压配电柜-中置柜-充气柜-欧式箱变-高压真空断路器厂家 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 山东包装,山东印刷厂,济南印刷厂-济南富丽彩印刷有限公司 | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 蜗轮丝杆升降机-螺旋升降机-丝杠升降机厂家-润驰传动 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 海南在线 海南一家 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 |