91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java long類型存儲時間戳的詳細介紹

發布時間:2021-09-02 11:18:36 來源:億速云 閱讀:834 作者:chen 欄目:編程語言

這篇文章主要介紹“java long類型存儲時間戳的詳細介紹”,在日常操作中,相信很多人在java long類型存儲時間戳的詳細介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java long類型存儲時間戳的詳細介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

存儲時間打算用時間戳來存儲,打算用long類型來代表時間戳,但是在用long類型存儲時間戳的時候出了點問提。

在寫單元測試的時候,用一個long類型來存儲時間戳,發現編譯器報錯了

java long類型存儲時間戳的詳細介紹

剛開始猜想可能是因為long不夠大,存儲不了。然后用double類型來存:

java long類型存儲時間戳的詳細介紹

發現還是報錯了,仔細想想不對,double存儲的數量應該時很大的,不會連時間戳都存儲不了。
在后面加上小數點之后,居然可以存了:

java long類型存儲時間戳的詳細介紹

加了小數點之后就能存了,仔細一想,之前沒加小數點的時候他是整數,加了小數點之后變成了浮點數,猜測之前沒加上小數點的時間戳是一個整形的字面值,加上小數點后是一個浮點數的字面值,之前的報錯應該不是存儲類型的問題,而是字面值范圍超出了。

用字符串來測試:

java long類型存儲時間戳的詳細介紹

把時間戳變成字符串的字面值,在將他解析成long類型的和int類型的,然后在把他們輸出:

java long類型存儲時間戳的詳細介紹

發現第一個long類型的成功輸出了,而int類型的卻報了一個number的錯誤.

這說明long是可以存儲時間戳的,而int存儲不了時間戳,所以判斷之前不能存儲時因為字面值為整形超出了范圍。

Java 各種日期/時間 對象轉Long時間戳

package cn.xbz;
 
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
 
/**
 * @title 各種日期/時間對象轉時間戳
 * @author Xingbz
 * @createDate 2018-5-18
 */
public class DateTime2MillisDemo {
 
 private static final String FORMAT_STR = "yyyy-MM-dd HH:mm:ss";
 
 public static void main(String[] args) {
  System.out.println("====== JDK7及之前 ======");
  Long l1 = getMillis1();
  Long l2 = date2Millis(new Date());
  Long l3 = calendar2Millis(Calendar.getInstance());
  Long l4 = string2Millis(new SimpleDateFormat(FORMAT_STR).format(new Date()) , FORMAT_STR);//為了與以上幾個保持一致
  System.out.println(l1 + "\n" + l2 + "\n" + l3 + "\n" + l4);//會有幾毫秒的差別
 
  System.out.println("====== JDK8 ======");
  Long l5 = getMillis2();
  Long l6 = localDateTime2Millis(LocalDateTime.now());
  Long l7 = localDate2Millis(LocalDate.now());
  Long l8 = clock2Millis(Clock.systemUTC());
  Long l9 = zoneDateTime2Millis(ZonedDateTime.now());
  Long l10 = string2MillisWithJDK8(LocalDateTime.now().format(DateTimeFormatter.ofPattern(FORMAT_STR)) , FORMAT_STR);//為了與以上幾個保持一致
  System.out.println(l5 + "\n" + l6 + "\n" + l7 + "\n" + l8 + "\n" + l9 + "\n" + l10);//會有幾毫秒的差別
 }
 
 /* JDK7及之前 */
 
 /** 獲取時間戳 */
 public static Long getMillis1() {
  return System.currentTimeMillis();
 }
 
 /** Date轉時間戳 */
 public static Long date2Millis(Date date) {
  return date.getTime();
 }
 
 /** Calendar轉時間戳 */
 public static Long calendar2Millis(Calendar calendar) {
  return calendar.getTime().getTime();
 }
 
 /** 日期字符串轉時間戳 */
 public static Long string2Millis(String dateStr, String formatStr) {
  try {
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat(formatStr);
   return simpleDateFormat.parse(dateStr).getTime();
  } catch (Exception e) {
   return 0L;
  }
 }
 
 /* JDK8 */
 
 /** 獲取時間戳 */
 public static Long getMillis2() {
  return Instant.now().toEpochMilli();
 }
 
 /** LocalDateTime轉時間戳 */
 public static Long localDateTime2Millis(LocalDateTime localDateTime) {
  return localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
 }
 
 /** LocalDate轉時間戳 */
 public static Long localDate2Millis(LocalDate localDate) {
  return LocalDateTime.of(localDate, LocalTime.MIN).toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
 }
 
 /** Clock轉時間戳 */
 public static Long clock2Millis(Clock clock) {
  return clock.millis();
 }
 
 /** ZoneDateTIme轉時間戳(這個不常用吧~) */
 public static Long zoneDateTime2Millis(ZonedDateTime zonedDateTime) {
  return zonedDateTime.toLocalDateTime().toInstant(ZoneOffset.ofHours(8)).toEpochMilli();//!!!好費勁
 }
 
 /** String轉時間戳(JDK8) */
 public static Long string2MillisWithJDK8(String dateStr , String formatStr) {
  return LocalDateTime.parse(dateStr , DateTimeFormatter.ofPattern(formatStr)).toInstant(ZoneOffset.ofHours(8)).toEpochMilli();
 }
}

輸出如下 :

java long類型存儲時間戳的詳細介紹

到此,關于“java long類型存儲時間戳的詳細介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥德县| 旬阳县| 罗田县| 平邑县| 翁牛特旗| 马公市| 儋州市| 沁水县| 广元市| 华安县| 巴中市| 公主岭市| 龙里县| 中宁县| 郓城县| 岳阳市| 井研县| 南溪县| 淮滨县| 洪雅县| 饶平县| 简阳市| 含山县| 舒兰市| 克拉玛依市| 珲春市| 京山县| 古田县| 平陆县| 丰镇市| 洛浦县| 宜昌市| 阿勒泰市| 衡东县| 双辽市| 天等县| 民县| 江源县| 舞钢市| 五峰| 东光县|