亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java日期時間操作工具類

2024-07-14 08:43:14
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java日期時間操作工具類,供大家參考,具體內容如下

雖然jdk1.8開始,加入了time包,里面對時區,本地化時間,格式化,以及時間等做了很好的封裝,但仍然要寫一個工具類。大家看著用。應該沒有bug。如果發現了,請您一定告知,互相學習!好了,上代碼:

package com.wdy.tools.utils.timeutil; import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;  /** * TimeUtil 日期時間工具類 * @author wangdy */public class TimeUtil {  /** * 獲取當前系統時間的小時(HH) *  * @return int 當前系統小時HH格式 * @throws Exception */ public static int getHH() throws Exception { DateFormat df = new SimpleDateFormat("HH"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return Integer.parseInt(str); }  /** * 獲取當前系統時間的分鐘數(mm) *  * @return int 當前系統分鐘mm格式 * @throws Exception */ public static int getMM() throws Exception { DateFormat df = new SimpleDateFormat("mm"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); // return Integer.parseInt(str.split(":")[0]) * 4 + // Integer.parseInt(str.split(":")[1]) / 15; return Integer.parseInt(str); }  /** * 獲取當前系統時間的秒數(ss) *  * @return int 當前系統時間的秒數(ss) * @throws Exception */ public static int getSS() throws Exception { DateFormat df = new SimpleDateFormat("ss"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); // return Integer.parseInt(str.split(":")[0]) * 4 + // Integer.parseInt(str.split(":")[1]) / 15; return Integer.parseInt(str); }  /** * 獲取輸入日期的前后日期 *  * @param date *      基準日期 yyyy-MM-dd * @param dayMark *      +代表往后,-代表往前 * @return String 前后日期(yyyy-MM-dd) * @throws Exception */ public static String getOtherDay(String date, int dayMark) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.DAY_OF_MONTH, dayMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在周的第一天(周一) *  * @param date基準日期yyyy *      -MM-dd * @return String 周一(yyyy-MM-dd) * @throws Exception *  * */ public static String getWeekFirstDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int days = c.get(Calendar.DAY_OF_WEEK); String strStart = ""; if (days == 1) {  strStart = getOtherDay(date, -days - 5); } else {  strStart = getOtherDay(date, -days + 2); } return strStart; }  /** * 獲取日期所在周的最后一天(周日) *  * @param date基準日期yyyy *      -MM-dd * @return String(yyyy-MM-dd) * @throws Exception *  * */ public static String getWeekLastDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int days = c.get(Calendar.DAY_OF_WEEK); String strStart = ""; if (days == 1) {  strStart = getOtherDay(date, 0); } else {  strStart = getOtherDay(date, 8 - days); } return strStart; }  /** * 獲取日期所在周(年的周數)的前后周的周一 *  * @param date基準日期yyyy *      -MM-dd * @param weekMark找基準日期 *      +代表往后,-代表往前 * @return String 前后周的周一(yyyy-MM-dd) * @throws Exception *  * */ public static String getOtherWeekFirstDate(String date, int weekMark)  throws Exception { String firstDate = getWeekFirstDate(date); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(firstDate); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.WEEK_OF_YEAR, weekMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在季的第一天 *  * @param date基準日期yyyy *      -MM-dd * @return String * @throws Exception *  * */ public static String getSeasonFirstDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); if (month < 3) {  month = 0; } else if (month >= 3 && month < 6) {  month = 3; } else if (month >= 6 && month < 9) {  month = 6; } else if (month >= 9 && month < 12) {  month = 9; } c.set(year, month, 1);  String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在季的前后季度的第一天(xxxx-xx-01) *  * @param date *      基準日期yyyy-MM-dd * @param seasonMark *      找基準日期+代表往后,-代表往前 * @return String * @throws Exception *  * */ public static String getOtherSeasonFirstDate(String date, int seasonMark)  throws Exception { String firstDate = getSeasonFirstDate(date); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(firstDate); Calendar c = Calendar.getInstance(); c.setTime(dt); int month = seasonMark * 3; if (month != 0) {  c.add(Calendar.MONTH, month); } String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在月的第一天 date基準日期 *  * @param date *      yyyy-MM-dd * @return String (yyyy-MM) * @throws Exception *  * */ public static String getMonthFirstDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); c.set(year, month, 1); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在月的最后一天 *  * @param date基準日期yyyy *      -MM-dd * @return String yyyy-MM-dd * @throws Exception *  * */ public static String getMonthLastDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int dayNum = c.getActualMaximum(Calendar.DAY_OF_MONTH); c.set(year, month, dayNum); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在月的前后月份的第一天(yyyy-MM-01) *  * @param date基準日期yyyy *      -MM-dd * @param monthMark找基準日期 *      +代表往后,-代表往前 * @return String * @throws Exception *  * */ public static String getOtherMonthFirstDate(String date, int monthMark)  throws Exception { String firstDate = getMonthFirstDate(date); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(firstDate); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.MONTH, monthMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在年的第一天 *  * @param date基準日期yyyy *      -MM-dd * @return String * @throws Exception *  * */ public static String getYearFirstDate(String date) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); int year = c.get(Calendar.YEAR); c.set(year, 0, 1); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 10); return strStart; }  /** * 獲取日期所在年的前后年的第一天(yyyy-01-01) *  * @param date *      基準日期yyyy-MM-dd * @param monthMark *      找基準日期+代表往后,-代表往前 * @return String * @throws Exception *  * */ public static String getOtherYearFirstDate(String date, int yearMark)  throws Exception { String firstDate = getMonthFirstDate(date); DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(firstDate); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.YEAR, yearMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime.substring(0, 4); return strStart + "-01-01"; }  /** * 取得同期日期 年同期 *  * @param date *      yyyy-MM-dd * @param year *      年份 * @return 年同期日期yyyy-MM-dd * @throws Exception */ public static String getYearTqDay(String date, int year) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.YEAR, year); String mDateTime = df.format(c.getTime()); return mDateTime; }  /** * 取得同期日期 月同期 *  * @param date *      yyyy-MM-dd * @param month *      月份 * @return 月同期日期yyyy-MM-dd * @throws Exception */ public static String getMonthTqDay(String date, int month) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.MONTH, month); String mDateTime = df.format(c.getTime()); return mDateTime; }  /** * 取得同比月份 *  * @param month *      月份 * @return 同比月份 * @throws Exception */ public static String getTbMonth(String month) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM"); Date dt = df.parse(month); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.YEAR, -1); String mDateTime = df.format(c.getTime()); return mDateTime; }  /** * 取得環比月份 *  * @param month *      月份 * @return 環比月份 * @throws Exception */ public static String getHbMonth(String month) throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM"); Date dt = df.parse(month); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.MONTH, -1); String mDateTime = df.format(c.getTime()); return mDateTime; }  /** * 獲取兩個日期之間的天數 *  * @param sDate *      -- 起始日期yyyy-MM-dd * @param eDate *      -- 結束日期yyyy-MM-dd * @return int--天數 * @throws Exception * */ public static int getDaysOfTwoDate(String sDate, String eDate)  throws Exception {  DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = df1.parse(sDate); Date date2 = df2.parse(eDate); if (null == date1 || null == date2) {  return -1; } long intervalMilli = date2.getTime() - date1.getTime(); return (int) (intervalMilli / (24 * 60 * 60 * 1000)); }  /** * 獲取兩個月份之間的月數 *  * @param sDate *      -- 起始月yyyy-MM * @param eDate *      -- 結束月yyyy-MM * @return int--天數 * @throws Exception * */ public static int getMonthOfTwoMonth(String sDate, String eDate)  throws Exception {  DateFormat df = new SimpleDateFormat("yyyy-MM");  Date date1 = df.parse(sDate); Date date2 = df.parse(eDate); if (null == date1 || null == date2) {  return -1; }  Calendar c1 = Calendar.getInstance(); c1.setTime(date1); Calendar c2 = Calendar.getInstance(); c2.setTime(date2);  int month1 = c1.get(Calendar.YEAR) * 12 + c1.get(Calendar.MONTH); int month2 = c2.get(Calendar.YEAR) * 12 + c2.get(Calendar.MONTH);  return month2 - month1; }  /**比較兩個日期 * @param sDate 起始日期 * @param eDate 結束日期 * @param pattern 日期格式 * @return boolean 返回比較結果 * @throws Exception */ public static boolean compareDate(String sDate, String eDate, String pattern)  throws Exception {  DateFormat df1 = new SimpleDateFormat(pattern); Date date1 = df1.parse(sDate); Date date2 = df1.parse(eDate); if (null == date1 || null == date2) {  return false; } long intervalMilli = date2.getTime() - date1.getTime(); if (intervalMilli > 0) {  return true; } return false; }  /**獲取兩個日期之間的分鐘數 * @param sDate 起始日期 yyyy-MM-dd HH:mm:ss * @param eDate 結束日期 yyyy-MM-dd HH:mm:ss * @return int--分鐘數 * @throws Exception */ public static int getMinsOfTwoDate(String sDate, String eDate)  throws Exception {  DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date1 = df1.parse(sDate); Date date2 = df2.parse(eDate); if (null == date1 || null == date2) {  return -1; } long intervalMilli = date2.getTime() - date1.getTime(); return (int) (intervalMilli / (60 * 1000)); }  /** * 獲取當前系統時間的字符串  *  * @return String -- 當天的整個日期字符串,年月日時分秒,返回格式yyyy-MM-dd HH:mm:ss * @throws Exception * */ public static String getToDayAllStr() throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /** * 獲取當前系統日期的字符串  *  * @return String-- 當天的年月日字符串,返回格式 yyyy-MM-dd * @throws Exception * */ public static String getToDayDateStr() throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /** * 獲取當前系統日期的字符串 *  * @return String -- 當天的年月日字符串,返回格式 yyyyMMdd * */ public static String getToDayYmd() throws Exception { DateFormat df = new SimpleDateFormat("yyyyMMdd"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /**獲取當前系統時間的指定類型字符串  * @param pattern 指定的格式 * @return String-- 當天的指定類型的字符串 * @throws Exception */ public static String getToDayStrByPattern(String pattern) throws Exception { DateFormat df = new SimpleDateFormat(pattern); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /** * 獲取當前系統時間的字符串 *  * @return String 當天的時分秒字符串,返回格式HH:mm:ss * */ public static String getToDayHmsStr() throws Exception { DateFormat df = new SimpleDateFormat("HH:mm:ss"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /** * 獲取當前系統時間的字符串 *  * @return String -- 當天的時分秒字符串,返回格式HHmmss * */ public static String getToDayHms() throws Exception { DateFormat df = new SimpleDateFormat("HHmmss"); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /**獲取當前系統指定格式的時間的字符串 * @param pattern 指定格式 * @return String 當前系統指定格式時間字符串 * @throws Exception */ public static String getToDayHmsByPattern(String pattern) throws Exception { DateFormat df = new SimpleDateFormat(pattern); Date date = new Date(System.currentTimeMillis()); String str = df.format(date); return str; }  /** * 獲取指定日期的時刻字符串 *  * @param dayStr *      (yyyy-MM-dd HH:mm:ss) * @return String -- 當天的時分秒字符串,返回格式:HHmmss * */ public static String getHmsStrForDateTime(String dayStr) throws Exception { DateFormat df = new SimpleDateFormat("HHmmss"); DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = df.format(df2.parse(dayStr)); return str; }  /** * 日期格式轉換 oldPattern 轉成 newPattern *  * @param str 要轉換格式的日期字符串 * @param oldPattern 原有格式 * @param newPattern 目標格式 * @return String轉換格式化后的字符串 * @throws Exception */ public static String changeDateType(String str, String oldPattern, String newPattern) throws Exception { DateFormat df = new SimpleDateFormat(oldPattern); DateFormat df1 = new SimpleDateFormat(newPattern); return df1.format(df.parse(str)); }   /** * 獲取輸入日期的前后幾小時的日期時間 *  * @param date基準日期yyyy-MM-dd HH:mm:ss * @param dayMark找基準日期 *      +代表往后,-代表往前 * @return * @throws Exception *  * */ public static String getOtherHour(String date, int dayMark)  throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.HOUR_OF_DAY, dayMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime; return strStart; }  /** * 獲取前后分鐘數 *  * @param date yyyy-MM-dd HH:mm:ss * @param minuteMark 前后標識+-數值 * @return 返回 * @throws Exception */ public static String getOtherMinute(String date, int minuteMark)  throws Exception { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dt = df.parse(date); Calendar c = Calendar.getInstance(); c.setTime(dt); c.add(Calendar.MINUTE, minuteMark); String mDateTime = df.format(c.getTime()); String strStart = mDateTime; return strStart; }   /** * 解析字符串為Date類型 * @param date 要被解析的日期字符串 * @param pattern 類型格式,默認yyyy-MM-dd HH:mm:ss * @return Date 被解析后的日期 * @throws Exception */ public static Date parseDate(String date, String pattern) throws Exception { Date returnDate = null; if (pattern == null || pattern.equals("") || pattern.equals("null")) {  pattern = "yyyy-MM-dd HH:mm:ss"; } java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(pattern); try {  returnDate = sdf.parse(date); } catch (Exception e) {  e.printStackTrace(); } return returnDate; }  /** * 格式化Date類型日期 * @param date Date類型日期 * @param pattern 類型格式 * @return String,被格式化后的日期 * @throws Exception */ public static String formatDate(Date date, String pattern) throws Exception { String returnDate = null;  if (date == null) {  return ""; }  if (pattern == null || pattern.equals("") || pattern.equals("null")) {  pattern = "yyyy-MM-dd HH:mm:ss"; }  java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(pattern); returnDate = sdf.format(date);  return returnDate; }  /** * 得到當前月份yyyy-MM; *  * @return String */ public static String getSystemMonth() { java.util.Date date = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM"); String mDateTime1 = formatter.format(date); return mDateTime1; }  /** * 獲取月所在年的最后一個月 * @param month 月份 * @param m  * @return * @throws Exception */ public static String getYearLastMonth(String month, int m) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");  Date newDate = new Date(); newDate = format.parse(month); Calendar c = Calendar.getInstance(); c.setTime(newDate); c.add(Calendar.YEAR, m);  newDate.setTime(c.getTimeInMillis());  return format.format(newDate).substring(0, 4) + "-12"; }  /** * 獲取前后月份 * + 往后推遲m月 *  * @param month * @param m * @return * @throws Exception */ public static String getOtherMonth(String month, int m) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");  Date newDate = new Date(); newDate = format.parse(month); Calendar c = Calendar.getInstance(); c.setTime(newDate); c.add(Calendar.MONTH, m);  newDate.setTime(c.getTimeInMillis());  return format.format(newDate); }  /** * 獲取前后月份+ 往后推遲m月 *  * @param month * @param m * @return * @throws Exception */ public static String getOtherMonthYMD(String month, int m) throws Exception { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  Date newDate = new Date(); newDate = format.parse(month); Calendar c = Calendar.getInstance(); c.setTime(newDate); c.add(Calendar.MONTH, m);  newDate.setTime(c.getTimeInMillis());  return format.format(newDate); }  /** * 根據年月字符串得到那個月的總天數 * @param monthStr yyyy-MM * @return int 總天數 * @throws Exception */ public static int getDaysOfMonth(String monthStr) throws Exception {  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); Date date = format.parse(monthStr); Calendar calendar = new GregorianCalendar(); calendar.setTime(date); int dayNum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); return dayNum; }  /** * 獲取指定時刻前后指定步長的時刻 *  * @param time *      時刻HH:mm:ss * @param m *      步長(+-m) 0:輸出原來的時刻,+1輸出后一個時刻,-1輸出前一個時刻 * @return String HH:mm:ss * @throws Exception */ public static String getBeforeAfterTimeForMin(String time, int m)  throws Exception { Calendar now = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); Date newDate = new Date(); newDate = format.parse(time); now.setTime(newDate); now.add(Calendar.MINUTE, m); return format.format(now.getTime()); }  /** * 獲取指定格式的前后時間 *  * @param time * @param m *      (0:輸出原來的時刻,+1輸出后一個時刻,-1輸出前一個時刻) * @param pattern *      類型的格式必須被time的格式所包含 * @return * @throws Exception */ public static String getBeforeAfterDateTimeByTime(String time, int m,  String pattern) throws Exception { Calendar now = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat(pattern);  Date newDate = new Date(); newDate = sdf.parse(time); now.setTime(newDate); now.add(Calendar.MINUTE, m);  return sdf.format(now.getTime()); } }

這就是整個工具類了,供君參考。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情一区二区三区在线视频观看| 欧美激情精品久久久久久| 欧美日韩国产在线看| 色久欧美在线视频观看| 成人免费网视频| 久青草国产97香蕉在线视频| 欧洲精品毛片网站| 日韩av不卡电影| 亚洲成人网久久久| 国产成人精品综合| 91精品国产91久久久久久不卡| 91久久久久久| 色综合久久久888| 亚洲aaaaaa| 国产成人一区二区| 亚洲国产成人91精品| 亚洲精品久久久久| 日韩中文字幕在线看| 综合国产在线视频| 欧美男插女视频| 亚洲午夜性刺激影院| 久久久久久av| 亚洲成年人在线| 高清一区二区三区日本久| 亚洲天堂av综合网| 在线精品视频视频中文字幕| 91国内精品久久| 欧美成人小视频| 欧美精品一二区| 日韩成人av在线播放| 中文字幕视频在线免费欧美日韩综合在线看| 91精品国产91久久久久久吃药| 中文在线资源观看视频网站免费不卡| 国产精品com| 亚洲天堂男人天堂| 日韩有码片在线观看| 国产精品久久久久久五月尺| 91网在线免费观看| 亚洲国产成人精品女人久久久| 亚洲japanese制服美女| 亚洲人免费视频| 欧美激情欧美激情在线五月| 欧美一区三区三区高中清蜜桃| 国产成人精品免高潮费视频| 欧美激情视频一区二区三区不卡| 国产精品久久久久9999| 欧美激情久久久久| 美女福利精品视频| 国产精品直播网红| 欧美中文字幕精品| 国外成人在线播放| 日韩av综合网站| 久久久精品欧美| 亚洲影视九九影院在线观看| 岛国精品视频在线播放| 国产精品99久久久久久久久| 亚洲曰本av电影| 亚洲欧美另类在线观看| 国产成人av在线播放| 中文字幕精品www乱入免费视频| 成人国产亚洲精品a区天堂华泰| 国产精品99免视看9| 奇米一区二区三区四区久久| 精品国产一区二区三区在线观看| 日韩精品中文在线观看| 国模吧一区二区三区| 欧美中文字幕在线观看| 国产盗摄xxxx视频xxx69| 少妇久久久久久| 中文字幕日韩欧美| 91香蕉亚洲精品| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美视频在线观看免费| 欧美日韩一区二区免费视频| 欧美日韩国产一区在线| 92看片淫黄大片欧美看国产片| 秋霞av国产精品一区| 欧美www视频在线观看| 国产欧美精品一区二区三区-老狼| 亚洲成人久久久| 亚洲欧美激情四射在线日| 亚洲sss综合天堂久久| 国内外成人免费激情在线视频| 国产亚洲精品久久久久动| 色视频www在线播放国产成人| 国产日韩视频在线观看| 日韩精品视频在线播放| 美日韩精品视频免费看| 国产香蕉一区二区三区在线视频| 在线观看亚洲视频| 国产盗摄xxxx视频xxx69| 久久免费视频这里只有精品| 午夜精品福利电影| 欧美性猛交xxxx黑人| 欧美最顶级的aⅴ艳星| 91视频-88av| 成人精品在线视频| 精品日韩视频在线观看| 精品国产乱码久久久久酒店| 亚洲成人a**站| www.美女亚洲精品| 日韩最新免费不卡| 国产精品久久久久久亚洲影视| 日韩中文在线中文网三级| 亚洲男人天堂古典| 欧美成人一区在线| 成人黄色片在线| 亚洲精品久久在线| 色香阁99久久精品久久久| 91视频8mav| 国模精品系列视频| 日韩精品高清视频| 国产精品亚洲美女av网站| 久久精品视频免费播放| 欧美综合在线第二页| 中文字幕在线观看亚洲| 久久视频免费观看| 国产精品成人品| 日本一区二区在线免费播放| 日韩美女免费视频| 日日噜噜噜夜夜爽亚洲精品| 91网站在线看| 日韩av日韩在线观看| 国产精品视频免费在线观看| 国产精品视频xxx| 亚洲字幕一区二区| 久久男人av资源网站| 欧美国产日产韩国视频| 国产成人精品在线视频| 欧美日韩一区二区在线| 国产精品久久99久久| 91影院在线免费观看视频| 亚洲第一二三四五区| 91精品国产91久久久久| 久久精品中文字幕免费mv| 国产日韩精品电影| 18一19gay欧美视频网站| **欧美日韩vr在线| 国产xxx69麻豆国语对白| 国产欧美日韩丝袜精品一区| 懂色aⅴ精品一区二区三区蜜月| 欧美在线视频在线播放完整版免费观看| 日韩中文av在线| 麻豆成人在线看| 日韩一区av在线| 国外成人在线视频| 亚洲乱码一区二区| 91精品国产自产在线| 欧美裸体xxxx极品少妇| 最近日韩中文字幕中文| 欧美性xxxxxxxxx| 97视频免费在线观看| 亚洲欧洲高清在线| 欧美激情综合亚洲一二区| 2019中文字幕免费视频| 国产精品亚洲综合天堂夜夜| 91精品国产91久久久久久不卡| 成人网在线免费看| 精品一区精品二区| 亚洲无av在线中文字幕| 欧美老少配视频| 国产激情视频一区| 国产999精品久久久| 1769国产精品|