精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java 時間與日期處理

開發 開發工具
GMT 即「格林威治標準時間」( Greenwich Mean Time,簡稱 G.M.T. ),指位于英國倫敦郊區的皇家格林威治天文臺的標準時間,因為本初子午線被定義為通過那里的經線。然而由于地球的不規則自轉,導致 GMT 時間有誤差,因此目前已不被當作標準時間使用。

[[198241]]

Java 時間與日期處理 從屬于筆者的現代 Java 開發系列文章,涉及到的引用資料聲明在Java 學習與實踐資料索引中。

Java 時間與日期處理

在 Java 8 之前,我們最常見的時間與日期處理相關的類就是 Date、Calendar 以及 SimpleDateFormatter 等等。不過 java.util.Date 也是被詬病已久,它包含了日期、時間、毫秒數等眾多繁雜的信息,其內部利用午夜 12 點來區分日期,利用 1970-01-01 來計算時間;并且其月份從 0 開始計數,而且用于獲得年、月、日等信息的接口也是太不直觀。除此之外,java.util.Date與 SimpleDateFormatter 都不是類型安全的,而 JSR-310 中的 LocalDate 與 LocalTime 等則是不變類型,更加適合于并發編程。JSR 310 實際上有兩個日期概念。第一個是 Instant,它大致對應于 java.util.Date 類,因為它代表了一個確定的時間點,即相對于標準 Java 紀元(1970年1月1日)的偏移量;但與 java.util.Date 類不同的是其精確到了納秒級別。另一個則是 LocalDate、LocalTime 以及 LocalDateTime 這樣代表了一般時區概念、易于理解的對象。

Class / TypeDescriptionYearRepresents a year.YearMonthA month within a specific year.LocalDateA date without an explicitly specified time zone.LocalTimeA time without an explicitly specified time zone.LocalDateTimeA combination date and time without an explicitly specified time zone.

最新 JDBC 映射將把數據庫的日期類型和 Java 8 的新類型關聯起來:

SQLJavadateLocalDatetimeLocalTimetimestampLocalDateTimedatetimeLocalDateTime

時間與日期基礎概念

標準時間

GMT 即「格林威治標準時間」( Greenwich Mean Time,簡稱 G.M.T. ),指位于英國倫敦郊區的皇家格林威治天文臺的標準時間,因為本初子午線被定義為通過那里的經線。然而由于地球的不規則自轉,導致 GMT 時間有誤差,因此目前已不被當作標準時間使用。UTC 是最主要的世界時間標準,是經過平均太陽時(以格林威治時間 GMT 為準)、地軸運動修正后的新時標以及以「秒」為單位的國際原子時所綜合精算而成的時間。UTC 比 GMT 來得更加精準。其誤差值必須保持在 0.9 秒以內,若大于 0.9 秒則由位于巴黎的國際地球自轉事務中央局發布閏秒,使 UTC 與地球自轉周期一致。不過日常使用中,GMT 與 UTC 的功能與精確度是沒有差別的。協調世界時區會使用 “Z” 來表示。而在航空上,所有使用的時間劃一規定是協調世界時。而且 Z 在無線電中應讀作 “Zulu”(可參見北約音標字母),協調世界時也會被稱為 “Zulu time”。

TimeZone&UTC Offsets: 時區與偏移

人們經常會把時區與 UTC 偏移量搞混,UTC 偏移量代表了某個具體的時間值與 UTC 時間之間的差異,通常用 HH:mm 形式表述。而 TimeZone 則表示某個地理區域,某個 TimeZone 中往往會包含多個偏移量,而多個時區可能在一年的某些時間有相同的偏移量。譬如 America/Chicago, America/Denver, 以及 America/Belize 在一年中不同的時間都會包含 -06:00 這個偏移。

時間戳

Unix 時間戳表示當前時間到 1970 年 1 月 1 日 00:00:00 UTC 對應的秒數。注意,JavaScript 內的時間戳指的是當前時間到 1970 年 1 月 1 日 00:00:00 UTC 對應的毫秒數,和 Unix 時間戳不是一個概念,后者表示秒數,差了 1000 倍。

時間數字字符串格式

RFC2822

  1. YYYY/MM/DD HH:MM:SS ± timezone(時區用4位數字表示) 
  2.  
  3. // eg 1992/02/12 12:23:22+0800 

ISO 8601

國際標準化組織的國際標準 ISO 8601 是日期和時間的表示方法,全稱為《數據存儲和交換形式·信息交換·日期和時間的表示方法》。目前最新為第三版 ISO8601:2004,第一版為 ISO8601:1988,第二版為 ISO8601:2000。年由 4 位數組成,以公歷公元 1 年為 0001 年,以公元前 1 年為 0000 年,公元前 2 年為 -0001 年,其他以此類推。應用其他紀年法要換算成公歷,但如果發送和接受信息的雙方有共同一致同意的其他紀年法,可以自行應用。

  1. YYYY-MM-DDThh:mm:ss ± timezone(時區用HH:MM表示) 
  2. 1997-07-16T08:20:30Z 
  3. // “Z”表示UTC標準時區,即"00:00",所以這里表示零時區的`1997年7月16日08時20分30秒` 
  4. //轉換成位于東八區的北京時間則為`1997年7月17日16時20分30秒` 
  5. 1997-07-16T19:20:30+01:00 
  6. // 表示東一區的1997年7月16日19時20秒30分,轉換成UTC標準時間的話是1997-07-16T18:20:30Z 

時間戳

  1. // 利用系統標準時間創建 
  2. Timestamp timestamp = new Timestamp(System.currentTimeMillis()); 
  3.  
  4. // 從 Date 對象中創建 
  5. new Timestamp((new Date()).getTime()); 
  6.  
  7. // 獲取自 1970-01-01 00:00:00 GMT 以來的毫秒數 
  8. timestamp.getTime(); 

在 Java 8 中,即可以使用 java.time.Instant 來表示自從 1970-01-01T00:00:00Z 之后經過的標準時間:

  1. // 基于靜態函數創建 
  2. Instant instant = Instant.now(); 
  3.  
  4. // 基于 Date 或者毫秒數轉換 
  5. Instant someInstant = someDate.toInstant(); 
  6. Instant someInstant = Instant.ofEpochMilli(someDate.getTime()); 
  7.  
  8. // 基于 TimeStamp 轉換 
  9. Instant instant = timestamp.toInstant(); 
  10.  
  11. // 從 LocalDate 轉化而來 
  12. LocalDate.now().atStartOfDay().toInstant(ZoneOffset.UTC) 
  13.  
  14. // 從 LocalDateTime 轉化而來 
  15. ldt.atZone(ZoneId.systemDefault()).toInstant(); 
  16.  
  17. // 獲取毫秒 
  18. long timeStampMillis = instant.toEpochMilli(); 
  19.  
  20. // 獲取秒 
  21. long timeStampSeconds = instant.getEpochSecond(); 

Clock 方便我們去讀取當前的日期與時間。Clock 可以根據不同的時區來進行創建,并且可以作為System.currentTimeMillis()的替代。這種指向時間軸的對象即是Instant類。Instants 可以被用于創建java.util.Date對象。

  1. Clock clock = Clock.systemDefaultZone(); 
  2. long millis = clock.millis(); 
  3.  
  4. Instant instant = clock.instant(); 
  5. Date legacyDate = Date.from(instant);   // legacy java.util.Date 

Date

  1. // 默認創建 
  2. Date date0 = new Date(); 
  3.  
  4. // 從 TimeStamp 中創建 
  5. Date date1 = new Date(time); 
  6.  
  7. // 基于 Instant 創建 
  8. Date date = Date.from(instant); 
  9.  
  10. // 從格式化字符串中獲取 
  11. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
  12. java.util.Date dt=sdf.parse("2005-2-19"); 
  13.  
  14. // 從 LocalDateTime 中轉化而來 
  15. Date out = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); 

基于 Date 的日期比較常常使用以下方式:

  • 使用 getTime() 方法獲取兩個日期(自1970年1月1日經歷的毫秒數值),然后比較這兩個值。
  • 使用方法 before(),after() 和 equals()。例如,一個月的12號比18號早,則 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  • 使用 compareTo() 方法,它是由 Comparable 接口定義的,Date 類實現了這個接口。

Calendar

Date 用于記錄某一個含日期的、精確到毫秒的時間。重點在代表一剎那的時間本身。 Calendar 用于將某一日期放到歷法中的互動——時間和年、月、日、星期、上午、下午、夏令時等這些歷法規定互相作用關系和互動。我們可以通過 Calendar 內置的構造器來創建實例:

  1. Calendar.Builder builder =new Calendar.Builder(); 
  2. Calendar calendar1 = builder.build(); 
  3. Date date = calendar.getTime(); 

在 Calendar 中我們則能夠獲得較為直觀的年月日信息:

  1. // 2017,不再是 2017 - 1900 = 117 
  2. int year =calendar.get(Calendar.YEAR); 
  3.  
  4. int month=calendar.get(Calendar.MONTH)+1; 
  5.  
  6. int day =calendar.get(Calendar.DAY_OF_MONTH); 
  7.  
  8. int hour =calendar.get(Calendar.HOUR_OF_DAY); 
  9.  
  10. int minute =calendar.get(Calendar.MINUTE); 
  11.  
  12. int seconds =calendar.get(Calendar.SECOND);     

除此之外,Calendar 還提供了一系列 set 方法來允許我們動態設置時間,還可以使用 add 等方法進行日期的加減。

SimpleDateFormat

SimpleDateFormat 用來進行簡單的數據格式化轉化操作:

  1. Date dNow = new Date( );  
  2. SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); 

LocalDateTime

LocalDate

  1. // 取當前日期: 
  2. LocalDate today = LocalDate.now(); 
  3.  
  4. // 根據年月日取日期,12月就是12: 
  5. LocalDate crischristmas = LocalDate.of(2017, 5, 15);  
  6.  
  7. // 根據指定格式字符串取 
  8. LocalDate endOfFeb = LocalDate.parse("2017-05-15"); // 嚴格按照ISO yyyy-MM-dd驗證,02寫成2都不行,當然也有一個重載方法允許自己定義格式 
  9. LocalDate.parse("2014-02-29"); // 無效日期無法通過:DateTimeParseException: Invalid date 
  10.  
  11. // 通過自定義時間字符串格式獲取 
  12. DateTimeFormatter germanFormatter = 
  13.     DateTimeFormatter 
  14.         .ofLocalizedDate(FormatStyle.MEDIUM) 
  15.         .withLocale(Locale.GERMAN); 
  16.  
  17. LocalDate xmas = LocalDate.parse("24.12.2014", germanFormatter); 
  18. System.out.println(xmas);   // 2014-12-24 
  19.  
  20. // 獲取其他時區下日期 
  21. LocalDate localDate = LocalDate.now(ZoneId.of("GMT+02:30")); 
  22.  
  23. // 從 LocalDateTime 中獲取實例 
  24. LocalDateTime localDateTime = LocalDateTime.now(); 
  25. LocalDate localDate = localDateTime.toLocalDate(); 

日期操作

  1. // 取本月第1天 
  2. LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2014-12-01 
  3.  
  4. // 取本月第2天 
  5. LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2014-12-02 
  6.  
  7. // 取本月最后一天,再也不用計算是28,29,30還是31 
  8. LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2014-12-31 
  9.  
  10. // 取下一天 
  11. LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); // 變成了2015-01-01 
  12.  
  13. // 取2015年1月第一個周一 
  14. LocalDate firstMondayOf2015 = LocalDate.parse("2015-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2015-01-05 

LocalTime

  1. // 獲取其他時區下時間 
  2. LocalTime localTime = LocalTime.now(ZoneId.of("GMT+02:30")); 
  3.  
  4. // 從 LocalDateTime 中獲取實例 
  5. LocalDateTime localDateTime = LocalDateTime.now(); 
  6. LocalTime localTime = localDateTime.toLocalTime(); 
  7.  
  8.  
  9. - 12:00 
  10. - 12:01:02 
  11. - 12:01:02.345 

LocalDateTime

  1. // 通過時間戳創建 
  2. LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochSecond(1450073569l), TimeZone.getDefault().toZoneId()); 
  3.  
  4. // 通過 Date 對象創建 
  5. Date in = new Date(); 
  6. LocalDateTime ldt = LocalDateTime.ofInstant(in.toInstant(), ZoneId.systemDefault()); 
  7.  
  8. // 通過解析時間字符串創建 
  9. DateTimeFormatter formatter = 
  10.     DateTimeFormatter 
  11.         .ofPattern("MMM dd, yyyy - HH:mm"); 
  12.  
  13. LocalDateTime parsed = LocalDateTime.parse("Nov 03, 2014 - 07:13", formatter); 
  14. String string = formatter.format(parsed); 
  15. System.out.println(string);     // Nov 03, 2014 - 07:13 
  • 獲取年、月、日等信息
  1. LocalDateTime sylvester = LocalDateTime.of(2014, Month.DECEMBER, 31, 23, 59, 59); 
  2.  
  3. DayOfWeek dayOfWeek = sylvester.getDayOfWeek(); 
  4. System.out.println(dayOfWeek);      // WEDNESDAY 
  5.  
  6. Month month = sylvester.getMonth(); 
  7. System.out.println(month);          // DECEMBER 
  8.  
  9. long minuteOfDay = sylvester.getLong(ChronoField.MINUTE_OF_DAY); 
  10. System.out.println(minuteOfDay);    // 1439 
  • 時間格式化展示
  1. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); 
  2. LocalDateTime dateTime = LocalDateTime.of(1986, Month.APRIL, 8, 12, 30); 
  3. String formattedDateTime = dateTime.format(formatter); // "1986-04-08 12:30" 

時間操作

  1. localDateTime.plusDays(1); 
  2. localDateTime.minusHours(2); 

時區轉換

  1. System.out.println(ZoneId.getAvailableZoneIds()); 
  2. // prints all available timezone ids 
  3.  
  4. ZoneId zone1 = ZoneId.of("Europe/Berlin"); 
  5. ZoneId zone2 = ZoneId.of("Brazil/East"); 
  6. System.out.println(zone1.getRules()); 
  7. System.out.println(zone2.getRules()); 
  8.  
  9. // ZoneRules[currentStandardOffset=+01:00] 
  10. // ZoneRules[currentStandardOffset=-03:00] 
  11. LocalDateTime ldt = ... 
  12. ZonedDateTime zdt = ldt.atZone(ZoneId.systemDefault()); 
  13. Date output = Date.from(zdt.toInstant()); 
  14. ZoneId losAngeles = ZoneId.of("America/Los_Angeles"); 
  15. ZoneId berlin = ZoneId.of("Europe/Berlin"); 
  16.  
  17. // 2014-02-20 12:00 
  18. LocalDateTime dateTime = LocalDateTime.of(2014, 02, 20, 12, 0); 
  19.  
  20. // 2014-02-20 12:00, Europe/Berlin (+01:00) 
  21. ZonedDateTime berlinDateTime = ZonedDateTime.of(dateTime, berlin); 
  22.  
  23. // 2014-02-20 03:00, America/Los_Angeles (-08:00) 
  24. ZonedDateTime losAngelesDateTime = berlinDateTime.withZoneSameInstant(losAngeles); 
  25.  
  26. int offsetInSeconds = losAngelesDateTime.getOffset().getTotalSeconds(); // -28800 
  27.  
  28. // a collection of all available zones 
  29. Set<String> allZoneIds = ZoneId.getAvailableZoneIds(); 
  30.  
  31. // using offsets 
  32. LocalDateTime date = LocalDateTime.of(2013, Month.JULY, 20, 3, 30); 
  33. ZoneOffset offset = ZoneOffset.of("+05:00"); 
  34.  
  35. // 2013-07-20 03:30 +05:00 
  36. OffsetDateTime plusFive = OffsetDateTime.of(date, offset); 
  37.  
  38. // 2013-07-19 20:30 -02:00 
  39. OffsetDateTime minusTwo = plusFive.withOffsetSameInstant(ZoneOffset.ofHours(-2)); 

時差

Period 類以年月日來表示日期差,而 Duration 以秒與毫秒來表示時間差;Duration 適用于處理 Instant 與機器時間。

  1. // periods 
  2.  
  3. LocalDate firstDate = LocalDate.of(2010, 5, 17); // 2010-05-17 
  4. LocalDate secondDate = LocalDate.of(2015, 3, 7); // 2015-03-07 
  5. Period period = Period.between(firstDate, secondDate); 
  6.  
  7. int days = period.getDays(); // 18 
  8. int months = period.getMonths(); // 9 
  9. int years = period.getYears(); // 4 
  10. boolean isNegative = period.isNegative(); // false 
  11.  
  12. Period twoMonthsAndFiveDays = Period.ofMonths(2).plusDays(5); 
  13. LocalDate sixthOfJanuary = LocalDate.of(2014, 1, 6); 
  14.  
  15. // add two months and five days to 2014-01-06, result is 2014-03-11 
  16. LocalDate eleventhOfMarch = sixthOfJanuary.plus(twoMonthsAndFiveDays); 
  17.  
  18.  
  19. // durations 
  20.  
  21. Instant firstInstant= Instant.ofEpochSecond( 1294881180 ); // 2011-01-13 01:13 
  22. Instant secondInstant = Instant.ofEpochSecond(1294708260); // 2011-01-11 01:11 
  23.  
  24. Duration between = Duration.between(firstInstant, secondInstant); 
  25.  
  26. // negative because firstInstant is after secondInstant (-172920) 
  27. long seconds = between.getSeconds(); 
  28.  
  29. // get absolute result in minutes (2882) 
  30. long absoluteResult = between.abs().toMinutes(); 
  31.  
  32. // two hours in seconds (7200) 
  33. long twoHoursInSeconds = Duration.ofHours(2).getSeconds(); 

 【本文是51CTO專欄作者“張梓雄 ”的原創文章,如需轉載請通過51CTO與作者聯系】

戳這里,看該作者更多好文

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2024-02-22 14:51:38

Java字符串

2010-03-31 18:47:08

Oracle時間

2010-04-29 12:23:58

Oracle 獲取系統

2021-01-18 07:43:12

JavaGMTUTC

2010-07-19 15:37:48

Perl日期時間

2024-01-19 07:39:25

Go日期開發

2023-09-18 11:32:37

Python計算

2009-07-27 13:46:48

ASP.NET編程日期與時間的處理

2022-04-13 10:38:04

Springboot日期時間格式化

2024-06-25 08:26:51

高效日期計算安全

2025-04-18 10:21:43

JavaScript開發Date

2024-01-11 18:04:53

SQL數據庫

2010-09-14 14:22:30

Sql Server日

2010-05-27 13:26:20

MySQL日期時間函數

2012-03-27 09:20:57

Java

2014-12-22 10:14:31

Java8

2023-11-17 09:50:38

云原生監控

2010-04-01 10:29:12

Oracle 處理日期

2024-12-17 18:17:13

Python開發

2022-06-23 08:00:53

PythonDateTime模塊
點贊
收藏

51CTO技術棧公眾號

欧美电影《轻佻寡妇》| 里番在线播放| 日韩中文字幕不卡| 久久天天躁狠狠躁夜夜爽蜜月| 五月花丁香婷婷| 黄色小说在线播放| 国产色爱av资源综合区| 成人中文字幕+乱码+中文字幕| 精品爆乳一区二区三区无码av| 天美av一区二区三区久久| 精品视频在线看| 成人午夜精品久久久久久久蜜臀| а√天堂中文在线资源bt在线 | 日本国产一级片| 1区2区3区在线| 国产精品国产自产拍高清av| 国产一区免费视频| 国产毛片毛片毛片毛片毛片| 久久久精品五月天| 欧美激情亚洲自拍| 开心激情五月网| 亚洲性视频大全| 免费污视频在线一区| 紧缚奴在线一区二区三区| 欧美亚州一区二区三区| 国产性xxxx| 欧美日韩精品一区二区视频| 亚洲福利在线看| 日本一二三区在线| 欧美啪啪网站| 色狠狠一区二区| 男人日女人视频网站| 国产日产一区二区三区| 国产偷国产偷精品高清尤物 | 亚洲91av视频| 欧美日韩在线观看成人| 欧美电影三区| 中文字幕无线精品亚洲乱码一区 | 51精品国自产在线| 免费看国产黄色片| 国产日韩电影| 欧美天堂在线观看| 成人免费aaa| segui88久久综合9999| 亚洲综合图片区| 欧洲金发美女大战黑人| 超碰在线最新| 亚洲视频免费在线观看| 中文精品一区二区三区| 嫩草在线视频| 1024精品合集| 在线视频福利一区| 麻豆av在线导航| 中文字幕一区免费在线观看| 一区二区三区国| 欧美极品另类| 玉米视频成人免费看| 警花观音坐莲激情销魂小说| 国产乱色在线观看| 先锋影音网一区二区| 国产精品夜夜嗨| 亚洲xxxx3d| 99精品视频免费看| 国产福利一区二区三区在线视频| 99国产在线视频| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 美女av免费看| 98精品久久久久久久| 久久久成人av| 久久精品视频久久| 亚洲欧美日韩国产综合精品二区| 欧美最猛性xxxxx(亚洲精品)| 日韩人妻精品中文字幕| 麻豆精品视频在线观看视频| 91视频88av| 亚洲精品久久久久久无码色欲四季 | 亚洲影视一区| 久久久久久午夜| 国产成人一区二区三区影院在线| 久久久天天操| 91精品美女在线| 亚洲第一视频在线| 国产亚洲精品aa| 欧美 国产 精品| 性欧美freesex顶级少妇| 欧美日韩一区二区三区在线| 最新国产黄色网址| 国产精品毛片视频| 一区二区三区四区精品| 日本少妇高清视频| 国产美女一区| 国产日韩av在线播放| 亚洲乱色熟女一区二区三区| 久久久久久久久久久黄色| 黄瓜视频免费观看在线观看www| 爱情岛亚洲播放路线| 91成人国产精品| 永久免费黄色片| 精品一区免费| 久久久久久国产三级电影| 99超碰在线观看| 桃色av一区二区| 一区二区国产精品| 国产精品wwww| 亚洲欧美黄色片| 国产精品拍天天在线| 国产精品无码人妻一区二区在线 | 91精品视频专区| 你懂的免费在线观看视频网站| 亚洲视频在线观看一区| 99久久激情视频| 日韩欧美久久| 色香阁99久久精品久久久| 国产一级视频在线播放| 久久电影网站中文字幕| 欧美日韩亚洲综合一区二区三区激情在线| 国产黄色在线网站| 在线观看亚洲精品| 内射中出日韩无国产剧情| 亚洲网色网站| 国产精品视频在线观看| 日本国产在线| 亚洲电影在线免费观看| 在线一区二区不卡| 精品美女久久久| 日本道色综合久久影院| 黄色av中文字幕| 亚洲精品一二三| av免费一区二区| 日韩电影一区| 国产精品电影网| 日本精品专区| 欧美日韩国产一中文字不卡| 男人操女人下面视频| 91精品一区二区三区综合在线爱 | 欧美疯狂做受xxxx高潮| 国产精品午夜福利| 中文字幕中文乱码欧美一区二区| 天天碰免费视频| 国内黄色精品| 国产精品爱久久久久久久| 青春草在线观看 | 亚洲日本va在线观看| 中文字幕 91| 欧美激情偷拍自拍| 成人精品一区二区三区电影免费| av一本在线| 欧美性色黄大片手机版| 尤物九九久久国产精品的特点 | 久久久久久有精品国产| 国产丰满美女做爰| 亚洲在线观看免费视频| 国产69视频在线观看| 伊人久久成人| 精品久久蜜桃| 日韩性xxx| 在线日韩第一页| 国产又粗又大又黄| 一区二区在线观看免费视频播放| 亚洲欧美日韩中文字幕在线观看| 欧美午夜一区| 精品国产电影| 日韩天堂在线| 日韩有码在线电影| 亚洲国产精品视频在线| 香蕉成人伊视频在线观看| 久久久久久久久久久国产精品| 久久先锋资源| 成人啪啪免费看| 狂野欧美激情性xxxx欧美| 亚洲国产精品成人一区二区| 无码人妻精品一区二区三区9厂| 国产日韩精品一区二区三区在线| 天天摸天天舔天天操| 黄色av一区| 欧美激情www| 天堂综合在线播放| 久久久久这里只有精品| 久久这里精品| 7777精品伊人久久久大香线蕉最新版| 欧美日韩在线观看成人| 26uuuu精品一区二区| 香蕉视频999| 尹人成人综合网| 日韩午夜视频在线观看| 久久的色偷偷| 国产91精品最新在线播放| 免费大片在线观看www| 亚洲а∨天堂久久精品9966| 超碰在线免费97| 亚洲一区日韩精品中文字幕| 日韩 中文字幕| 国产又黄又大久久| 日韩欧美亚洲天堂| 五月激情综合| 美日韩精品免费| 欧美专区一区| 国产精品免费网站| heyzo高清国产精品| 一道本无吗dⅴd在线播放一区| 亚洲精品18p| 欧美日韩在线播放一区| 国产手机在线视频| 精品视频在线观看网站| 一本色道久久加勒比精品| 永久免费未视频| 91麻豆swag| 伊人影院在线观看视频| 日韩成人精品视频| 欧美不卡在线播放| 91tv官网精品成人亚洲| 日本不卡久久| 免费观看成人www动漫视频| 国产一区二区色| 日韩国产网站| 77777少妇光屁股久久一区| 91精品久久久久久粉嫩| 在线看片第一页欧美| 欧美精品a∨在线观看不卡| 欧美一区二区福利在线| 中文字幕乱码人妻无码久久| 精品国产精品三级精品av网址| 欧美成人精品欧美一级| 国产精品美女视频| 亚洲精品午夜视频| 久久综合久久99| 第四色在线视频| 懂色av一区二区三区免费看| 久久国产激情视频| 日韩高清在线一区| 波多野结衣作品集| 男人的天堂亚洲| 91九色在线观看视频| 影音先锋在线一区| 国产成a人亚洲精v品在线观看| 国产精品久久久久久| 亚洲高清资源综合久久精品| 精品国产乱码久久久久久果冻传媒 | 欧美v在线观看| 中文精品在线| 精品欧美一区免费观看α√| 亚洲福利免费| 精品国产一区三区| 亚洲毛片av| 欧美在线观看www| 性欧美videos另类喷潮| 成年人观看网站| 米奇777在线欧美播放| 免费日韩视频在线观看| 三级在线观看一区二区| 日韩毛片在线免费看| 久热re这里精品视频在线6| 国产av无码专区亚洲精品| 久久国产免费| 在线观看av网页| 久久99热这里只有精品| 国产精品嫩草影视| 成人免费高清视频| 中文字幕av观看| 久久久综合视频| 国产免费嫩草影院| 日韩欧美视频| 精品第一国产综合精品aⅴ| 91久久精品无码一区二区| 91精品国产综合久久久久久漫画 | 玖玖精品在线视频| 欧美日韩p片| 男女高潮又爽又黄又无遮挡| 久久久久国产精品一区三寸| 我看黄色一级片| 国产麻豆9l精品三级站| 久久人妻少妇嫩草av无码专区| 91啪九色porn原创视频在线观看| 伊人网在线视频观看| 国产精品系列在线| 波多野结衣家庭教师| 亚州成人在线电影| 波多野结衣在线观看视频| 欧美丰满少妇xxxbbb| 欧美一级片免费| 在线视频一区二区| 日韩精品亚洲人成在线观看| 1769国产精品| 日韩一级视频| 国内精品久久国产| 91九色精品| 男人操女人逼免费视频| 久久爱www久久做| 先锋资源av在线| 国产精品区一区二区三| 久久精品99国产精| 91国内精品野花午夜精品| 国产日韩欧美一区二区东京热| 亚洲国产天堂网精品网站| а天堂8中文最新版在线官网| 久久91超碰青草是什么| 毛片免费看不卡网站| 99在线高清视频在线播放| 视频一区在线观看| 欧美一区二区视频在线播放| 日韩中文字幕不卡| 日本道中文字幕| 国产精品久久久久久久浪潮网站| 久一区二区三区| 欧美美女黄视频| 免费av在线电影| 欧美精品久久久久久久| 小说区图片区亚洲| 蜜桃视频日韩| 在线精品观看| 视频区 图片区 小说区| 国产日韩精品一区| 亚洲天堂一区在线观看| 日韩免费性生活视频播放| 77777影视视频在线观看| 5278欧美一区二区三区| 亚洲国产一区二区三区网站| 正义之心1992免费观看全集完整版| 在线亚洲免费| 婷婷五月精品中文字幕| 亚洲欧美日韩在线| 亚洲天堂免费av| 亚洲日本欧美日韩高观看| 日本а中文在线天堂| 国产精品白丝jk白祙| 一区二区三区毛片免费| 超碰在线播放91| 日日夜夜一区| 欧美成人免费播放| 久久91超碰青草在哪里看| 久久久婷婷一区二区三区不卡| 国产中文一区| 特种兵之深入敌后| 亚洲男人的天堂在线观看| 夜夜嗨aⅴ一区二区三区| 中文字幕国产日韩| 福利一区在线| 亚洲国产精品毛片| 琪琪一区二区三区| 波多野吉衣中文字幕| 精品国产户外野外| 欧洲免费在线视频| 91精品国产91久久| 性人久久久久| 欧美成人xxxxx| 26uuu亚洲| 国产精品久久久久久人| 亚洲欧美国内爽妇网| 偷拍精品精品一区二区三区| 日韩av电影免费在线| 日本欧美在线观看| 91麻豆精品成人一区二区| 欧美一级国产精品| 精品精品导航| 久草精品电影| 久久久久久久欧美精品| 免费一级做a爰片久久毛片潮| 日本电影亚洲天堂一区| 成人综合影院| 成人福利网站在线观看| 欧美影院一区| 免费看毛片的网站| 欧美性xxxxx极品| 福利在线观看| 91精品国产一区二区三区动漫| 亚洲欧美亚洲| 亚洲男人在线天堂| 在线观看成人小视频| 免费黄色在线观看| 国产精品成人一区二区三区| 99精品国产在热久久婷婷| 亚洲а∨天堂久久精品2021| 欧美日韩精品欧美日韩精品 | 欧美激情久久久| 日本亚洲不卡| 天天影视色综合| 亚洲国产综合在线| 国产永久免费高清在线观看| 91久久精品国产| 最新国产乱人伦偷精品免费网站| 99久久人妻无码精品系列| 欧美日韩成人综合在线一区二区| 伊人在我在线看导航| 久久久久欧美| 国产资源在线一区| 成人精品在线看| xxx一区二区| 日韩极品少妇| 日本高清免费观看| 日韩欧美亚洲一二三区| v片在线观看| 日本精品一区二区三区视频| 国产一区二区三区蝌蚪| 亚洲不卡视频在线观看| 久久精品男人天堂| 亚洲人成网77777色在线播放| 免费黄频在线观看| 色综合一区二区三区| 亚洲区欧洲区| 亚洲精品一区二区毛豆|