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

基于 Java 的工作日與節假日智能識別

開發
在企業級應用開發中,經常需要判斷某個日期是否為工作日或節假日,例如考勤系統、任務調度系統、銀行交易系統等,來看看以下方案。

前言

在企業級應用開發中,經常需要判斷某個日期是否為工作日或節假日,例如考勤系統、任務調度系統、銀行交易系統等。

效果圖

圖片

基礎實現方案

最基礎的方案是使用Java內置的日期時間API,結合簡單的周末判斷邏輯:

public class HolidayUtil {
    
    // 法定節假日集合
    private static final Set<LocalDate> HOLIDAYS = new HashSet<>();
    
    // 調休工作日集合(周末調休為工作日)
    private static final Set<LocalDate> ADJUSTED_WORKDAYS = new HashSet<>();
    
    static {
        // 初始化法定節假日
        HOLIDAYS.add(LocalDate.of(2025, 1, 1));  // 元旦
        HOLIDAYS.add(LocalDate.of(2025, 1, 28)); // 除夕
        
        // 初始化調休工作日
        HOLIDAYS.add(LocalDate.of(2025, 1, 26));  // 春節前補班
        HOLIDAYS.add(LocalDate.of(2025, 2, 8));  // 春節后補班
    }
    
    /**
     * 判斷日期是否為工作日
     */
    public static boolean isWeekday(LocalDate date) {
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY;
    }
    
    /**
     * 判斷日期是否為法定節假日
     */
    public static boolean isHoliday(LocalDate date) {
        return HOLIDAYS.contains(date);
    }
    
    /**
     * 判斷日期是否為調休工作日
     */
    public static boolean isAdjustedWorkday(LocalDate date) {
        return ADJUSTED_WORKDAYS.contains(date);
    }
    
    /**
     * 判斷日期是否為需要上班的日子(工作日或調休工作日)
     */
    public static boolean isWorkingDay(LocalDate date) {
        // 如果是法定節假日,不是工作日
        if (isHoliday(date)) {
            returnfalse;
        }
        
        // 如果是調休工作日,是工作日
        if (isAdjustedWorkday(date)) {
            returntrue;
        }
        
        // 否則根據周幾判斷
        return isWeekday(date);
    }
    
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2025, 2, 5); // 春節
        System.out.println(date + " 是否為工作日: " + isWorkingDay(date));
        
        date = LocalDate.of(2025, 1, 26); // 春節調休
        System.out.println(date + " 是否為工作日: " + isWorkingDay(date));
        
        date = LocalDate.of(2025, 7, 5); // 周日
        System.out.println(date + " 是否為工作日: " + isWorkingDay(date));
    }
}

基于外部數據源的方案

基礎方案的局限性在于節假日數據需要硬編碼在代碼中,不利于維護和更新。更靈活的方案是將節假日數據存儲在外部文件或數據庫中:

public class HolidayUtil {
    
    private static final String HOLIDAY_FILE = "holidays.txt";
    private static final String ADJUSTED_WORKDAY_FILE = "adjusted_workdays.txt";
    private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    
    private final Set<LocalDate> holidays = new HashSet<>();
    private final Set<LocalDate> adjustedWorkdays = new HashSet<>();
    
    public HolidayUtil() {
        loadHolidays();
        loadAdjustedWorkdays();
    }
    
    private void loadHolidays() {
        try (BufferedReader reader = new BufferedReader(
                new InputStreamReader(Objects.requireNonNull(
                        getClass().getClassLoader().getResourceAsStream(HOLIDAY_FILE))))) {
            reader.lines()
                  .map(line -> line.trim())
                  .filter(line -> !line.isEmpty() && !line.startsWith("#"))
                  .map(dateStr -> LocalDate.parse(dateStr, DATE_FORMAT))
                  .forEach(holidays::add);
        } catch (IOException e) {
            System.err.println("加載節假日數據失敗: " + e.getMessage());
        }
    }
    
    private void loadAdjustedWorkdays() {
        try (BufferedReader reader = new BufferedReader(
                new InputStreamReader(Objects.requireNonNull(
                        getClass().getClassLoader().getResourceAsStream(ADJUSTED_WORKDAY_FILE))))) {
            reader.lines()
                  .map(line -> line.trim())
                  .filter(line -> !line.isEmpty() && !line.startsWith("#"))
                  .map(dateStr -> LocalDate.parse(dateStr, DATE_FORMAT))
                  .forEach(adjustedWorkdays::add);
        } catch (IOException e) {
            System.err.println("加載調休工作日數據失敗: " + e.getMessage());
        }
    }
    
    /**
     * 判斷日期是否為工作日
     */
    public boolean isWeekday(LocalDate date) {
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY;
    }
    
    /**
     * 判斷日期是否為法定節假日
     */
    public boolean isHoliday(LocalDate date) {
        return holidays.contains(date);
    }
    
    /**
     * 判斷日期是否為調休工作日
     */
    public boolean isAdjustedWorkday(LocalDate date) {
        return adjustedWorkdays.contains(date);
    }
    
    /**
     * 判斷日期是否為需要上班的日子(工作日或調休工作日)
     */
    public boolean isWorkingDay(LocalDate date) {
        // 如果是法定節假日,不是工作日
        if (isHoliday(date)) {
            returnfalse;
        }
        
        // 如果是調休工作日,是工作日
        if (isAdjustedWorkday(date)) {
            returntrue;
        }
        
        // 否則根據周幾判斷
        return isWeekday(date);
    }
    
    public static void main(String[] args) {
        HolidayUtil util = new HolidayUtil();
        LocalDate date = LocalDate.now();
        System.out.println(date + " 是否為工作日: " + util.isWorkingDay(date));
    }
}

使用第三方 API 的方案

/**
 * 基于timor.tech節假日API的工作日判斷工具
 */
public class TimorHolidayApiClient {
    
    private static final String API_BASE_URL = "https://timor.tech/api/holiday/year/";
    private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    private static final DateTimeFormatter MONTH_DAY_FORMAT = DateTimeFormatter.ofPattern("MM-dd");
    
    private final HttpClient httpClient = HttpClient.newBuilder()
            .version(HttpClient.Version.HTTP_2)
            .followRedirects(HttpClient.Redirect.NORMAL)
            .build();
    
    private final ObjectMapper objectMapper = new ObjectMapper();
    
    // 緩存每年的節假日數據,避免頻繁調用API
    private final Map<Integer, HolidayResponse> holidayCache = new ConcurrentHashMap<>();
    
    // 緩存日期到是否為工作日的映射,提升重復查詢性能
    private final Map<LocalDate, Boolean> workdayCache = new ConcurrentHashMap<>();
    
    /**
     * 判斷指定日期是否為工作日
     * @param date 要判斷的日期
     * @returntrue表示工作日,false表示非工作日
     */
    public boolean isWorkingDay(LocalDate date) {
        // 先檢查緩存
        if (workdayCache.containsKey(date)) {
            return workdayCache.get(date);
        }
        
        try {
            // 獲取該年份的節假日數據
            HolidayResponse response = getHolidayData(date.getYear());
            if (response == null || response.getHoliday().isEmpty()) {
                // 沒有節假日數據時,按常規周末判斷
                return isRegularWeekday(date);
            }
            
            // 格式化日期為"MM-dd"格式,用于API結果匹配
            String monthDay = date.format(MONTH_DAY_FORMAT);
            HolidayInfo holidayInfo = response.getHoliday().get(monthDay);
            
            // 處理節假日情況
            if (holidayInfo != null) {
                // 如果是節假日,不是工作日
                if (holidayInfo.isHoliday()) {
                    workdayCache.put(date, false);
                    returnfalse;
                } 
                // 如果是補班日,是工作日
                else {
                    workdayCache.put(date, true);
                    returntrue;
                }
            } 
            // 非節假日也非補班日,按常規周末判斷
            else {
                boolean isWeekday = isRegularWeekday(date);
                workdayCache.put(date, isWeekday);
                return isWeekday;
            }
            
        } catch (Exception e) {
            System.err.println("判斷工作日失敗,日期: " + date + ", 錯誤: " + e.getMessage());
            // 出錯時按常規工作日處理
            boolean isWeekday = isRegularWeekday(date);
            workdayCache.put(date, isWeekday);
            return isWeekday;
        }
    }
    
    /**
     * 獲取指定年份的節假日數據,帶有緩存機制
     */
    private HolidayResponse getHolidayData(int year) throws IOException, InterruptedException {
        if (holidayCache.containsKey(year)) {
            return holidayCache.get(year);
        }
        
        String url = API_BASE_URL + year;
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Accept", "application/json")
                .timeout(java.time.Duration.ofSeconds(10))
                .build();
        
        HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
        
        if (response.statusCode() == 200) {
            HolidayResponse holidayResponse = objectMapper.readValue(response.body(), HolidayResponse.class);
            if (holidayResponse.getCode() == 0) { // API返回成功
                holidayCache.put(year, holidayResponse);
                return holidayResponse;
            }
        }
        
        System.err.println("獲取節假日數據失敗,年份: " + year + ", 狀態碼: " + response.statusCode());
        return new HolidayResponse(); // 返回空數據
    }
    
    /**
     * 常規周末判斷(不考慮節假日和補班)
     */
    private boolean isRegularWeekday(LocalDate date) {
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        return dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY;
    }
    
    /**
     * 獲取日期對應的節假日信息
     */
    public HolidayInfo getHolidayInfo(LocalDate date) {
        try {
            HolidayResponse response = getHolidayData(date.getYear());
            if (response == null || response.getHoliday().isEmpty()) {
                return null;
            }
            
            String monthDay = date.format(MONTH_DAY_FORMAT);
            return response.getHoliday().get(monthDay);
        } catch (Exception e) {
            System.err.println("獲取節假日信息失敗,日期: " + date + ", 錯誤: " + e.getMessage());
            return null;
        }
    }
    
    /**
     * 清除緩存,適用于需要更新數據的場景
     */
    public void clearCache() {
        holidayCache.clear();
        workdayCache.clear();
    }
    
    /**
     * 示例用法
     */
    public static void main(String[] args) {
        TimorHolidayApiClient client = new TimorHolidayApiClient();
        
        // 測試2025年部分日期
        LocalDate[] dates = {
            LocalDate.of(2025, 1, 1),   // 元旦
            LocalDate.of(2025, 1, 26),  // 春節前補班
            LocalDate.of(2025, 1, 28),  // 除夕
            LocalDate.of(2025, 2, 8),   // 春節后補班
            LocalDate.of(2025, 5, 1),   // 勞動節
            LocalDate.of(2025, 10, 1),  // 國慶節
            LocalDate.of(2025, 10, 11)  // 國慶節后補班
        };
        
        for (LocalDate date : dates) {
            boolean isWorkday = client.isWorkingDay(date);
            HolidayInfo info = client.getHolidayInfo(date);
            
            String status = isWorkday ? "工作日" : "非工作日";
            String name = info != null ? info.getName() : "普通日";
            
            System.out.printf("%s %s - %s%n", 
                    date, 
                    status, 
                    name);
        }
    }
}
責任編輯:龐桂玉 來源: 一安未來
相關推薦

2025-08-07 02:11:00

2014-09-26 10:32:35

2022-04-30 07:53:54

Python腳本語言

2010-04-13 16:28:58

2022-03-27 21:52:52

數據分析運營市場

2021-03-17 08:11:21

SQL工作日數據

2014-09-25 17:30:13

網購網購安全

2010-08-23 10:55:25

SAPCRM

2011-12-16 13:51:08

2013-04-15 09:52:13

程序員

2013-02-17 17:12:44

手機安全

2014-10-27 15:30:35

招聘

2012-12-26 10:03:51

大數據分析大數據存儲

2014-11-05 12:20:28

Radware應用交付

2015-12-04 09:38:03

2012-09-10 10:26:22

工作工作習慣調整心態

2014-07-09 13:24:52

點贊
收藏

51CTO技術棧公眾號

亚洲精品老司机| 激情综合电影网| 欧美午夜电影在线播放| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产av一区二区三区| 欧美精品momsxxx| 欧美日韩精品一区二区三区蜜桃| 97超碰免费观看| 少妇又色又爽又黄的视频| 国产美女一区| 亚洲精品在线看| 最新天堂中文在线| 伊人福利在线| 久久九九久久九九| 成人乱色短篇合集| 久久久久黄色片| 蜜桃视频欧美| 欧美一区二区三区啪啪| 国产在线播放观看| 成人jjav| 国产91在线看| 国产脚交av在线一区二区| 国产又粗又长又黄的视频| 视频二区欧美毛片免费观看| 欧美午夜片在线免费观看| 亚洲午夜精品久久| 天天操天天干天天爱| 美洲天堂一区二卡三卡四卡视频| 色综合久久久久久中文网| 亚洲精品视频久久久| 国产精成人品2018| 姬川优奈aav一区二区| 在线不卡视频一区二区| 亚洲欧美一区二区三| 精品影院一区二区久久久| 欧美一级黑人aaaaaaa做受| 黄色录像二级片| 国产一区不卡| 亚洲国产精品网站| 国产又黄又猛的视频| 精品人人视频| 亚洲精品va在线观看| 日本成人看片网址| 欧美一级视频免费| 国内久久婷婷综合| 91精品视频专区| 97视频免费在线| 麻豆一区二区99久久久久| 国产成人精品综合久久久| 成人免费视频毛片| 在线一区免费观看| 青草成人免费视频| 亚洲婷婷综合网| 性欧美长视频| 国产99视频在线观看| 神马久久久久久久| 久久久久久婷| 国产精品久久久久久久久免费| 99精品在线播放| 视频在线观看国产精品| 国产精品免费久久久久影院| 国产成人精品亚洲| 蜜臀av在线播放一区二区三区| 国产成人久久精品| 91激情在线观看| 国产在线播精品第三| 亚洲一区二区三区久久| 午夜免费福利视频| 91亚洲精品久久久蜜桃网站| 欧美伦理一区二区| 自拍视频在线免费观看| 一色屋精品亚洲香蕉网站| 可以免费看的黄色网址| av女在线播放| 在线观看日韩毛片| 日韩欧美亚洲另类| 爱高潮www亚洲精品| 亚洲精品美女网站| 制服 丝袜 综合 日韩 欧美| 欧美大片aaaa| 久久久久久综合网天天| 国产精品视频123| 久久国产三级精品| 国产传媒一区二区| 噜噜噜在线观看播放视频| 国产精品视频免费| 欧美国产视频一区| 九色porny丨首页入口在线| 欧洲另类一二三四区| 欧洲在线免费视频| 欧美午夜18电影| 精品国产一区二区三区久久狼黑人 | 在线高清av| 欧美视频中文一区二区三区在线观看| 在线免费观看av网| 天堂俺去俺来也www久久婷婷| 伊人av综合网| 538任你躁在线精品视频网站| 亚洲欧美日韩在线观看a三区| 国产精品一区av| 亚洲经典一区二区| 国产女主播视频一区二区| 成人黄色片免费| 日韩免费va| 日韩欧美区一区二| 成人黄色a级片| 尹人成人综合网| 国产一区二区在线免费| 亚洲av片在线观看| 亚洲免费三区一区二区| 欧美日韩黄色一级片| 99综合99| 在线观看精品自拍私拍| 日本少妇毛茸茸高潮| 极品销魂美女一区二区三区| 欧美日韩精品中文字幕一区二区| 最新黄网在线观看| 欧美日韩一区小说| 深爱五月激情网| 亚洲网站视频| 亚洲综合精品伊人久久| 爱爱爱免费视频在线观看| 亚洲h动漫在线| 超级砰砰砰97免费观看最新一期| 欧美日韩亚洲在线观看| 97视频在线观看网址| 成人激情四射网| 亚洲码国产岛国毛片在线| 亚洲第一中文av| 蜜臀91精品国产高清在线观看| 欧美国产第一页| 国产wwwwwww| 亚洲色图另类专区| 日本人69视频| 北条麻妃国产九九九精品小说| 欧美一级电影在线| 午夜激情在线视频| 午夜日韩在线观看| 无码国产精品一区二区免费式直播| 91久久电影| 成人性生交大片免费看小说| 在线观看免费黄色| 欧美日韩精品系列| 熟女av一区二区| 国产在线麻豆精品观看| 在线免费观看成人网| 久久精品资源| www日韩欧美| 999免费视频| 亚洲精品国产品国语在线app| 91日韩精品视频| 国产精品二区不卡| 成人性生交大片免费观看嘿嘿视频| 午夜免费福利在线观看| 欧美久久免费观看| 欧美风情第一页| 国产成人精品综合在线观看 | 国产精品久久久久无码av色戒| 亚洲一区自拍| 色一情一区二区三区四区 | 18成人免费观看网站下载| 国产精品实拍| 日韩一区二区免费高清| 国产大片中文字幕| 91美女片黄在线观看91美女| 久久久久久久久久久免费视频| 精品日产免费二区日产免费二区| 国产精品人成电影在线观看| 免费av在线| 精品国产91亚洲一区二区三区婷婷| 在线免费观看毛片| 久久这里都是精品| 日本中文字幕影院| 黄色av日韩| 日本视频一区二区在线观看| 欧美一级免费| 久久久亚洲国产| 国产日韩精品在线看| 911国产精品| 激情五月色婷婷| 中文字幕第一区综合| 一级日本黄色片| 国产精品一国产精品k频道56| 日韩中文字幕一区| 4438全国亚洲精品观看视频| 全球成人中文在线| av在线影院| 国产偷亚洲偷欧美偷精品| 136福利视频导航| 精品久久在线播放| 男人晚上看的视频| av一二三不卡影片| 天天看片天天操| 99亚洲伊人久久精品影院红桃| 色婷婷精品国产一区二区三区| 日本一区二区三区播放| 国产精品高清在线观看| 五月天激情在线| 中文字幕久久久av一区| 日本高清视频网站| 3atv在线一区二区三区| 亚洲黄色激情视频| 亚洲精选视频在线| 欧美激情久久久久久久| a在线欧美一区| 三级黄色片播放| 国产精品夜夜夜| 美女扒开大腿让男人桶| 午夜激情久久| 日韩免费三级| 五月天亚洲一区| 99三级在线| 伊人久久大香线蕉综合影院首页| 欧美一区二区三区……| 女人黄色免费在线观看| 久久精品视频在线播放| 精品三级久久久久久久电影聊斋| 精品国产乱码久久久久久蜜臀| 91成品人影院| 欧美性感一区二区三区| 人人干人人干人人干| 亚洲欧美日韩系列| 99久久久无码国产精品不卡| 久久久午夜精品理论片中文字幕| 亚洲欧洲国产视频| 国产成人午夜视频| 精品人妻一区二区三| 精品一二三四在线| 在线观看免费视频高清游戏推荐| 久久中文欧美| 97xxxxx| 亚洲人体大胆视频| 国产精品成人久久电影| 黄色成人在线网址| 老司机激情视频| 欧美另类女人| 成人在线视频一区二区三区| 自由日本语亚洲人高潮| 欧美a级黄色大片| 欧美成人有码| 天天做天天躁天天躁| 欧美成人综合| av在线免费观看国产| 欧美日韩亚洲一区| 亚洲精品久久久久久久蜜桃臀| 国产综合欧美| 国产一区二区网| 国产精品亚洲欧美| 无遮挡又爽又刺激的视频| 久久久久久久欧美精品| 91极品尤物在线播放国产| 首页国产欧美久久| 亚洲视频一二三四| 国产精品自拍在线| 在线中文字日产幕| av不卡在线观看| 欧美特级黄色录像| 欧美激情一区二区三区在线| 制服丨自拍丨欧美丨动漫丨| 综合亚洲深深色噜噜狠狠网站| 欧美亚洲日本在线| 亚洲丶国产丶欧美一区二区三区| 日本三级黄色大片| 色婷婷激情综合| 亚洲午夜激情视频| 欧美成人国产一区二区| 日本精品一区二区在线观看| 日韩精品一区二区视频| av网站无病毒在线| 免费91在线视频| 欧美sm一区| 国产精品一区二区3区| 精品国产亚洲一区二区三区| 国产v亚洲v天堂无码| 亚洲国产精品嫩草影院久久av| 欧美亚洲免费高清在线观看| 久久精品高清| 18禁裸男晨勃露j毛免费观看| 天堂va蜜桃一区二区三区漫画版 | 国产精品黄色网| 在线观看日韩一区| 亚洲成人一二三区| 亚洲欧美一区二区三区四区| 日本在线视频观看| 久久久久成人网| 亚洲精品粉嫩美女一区| 亚洲自拍偷拍第一页| 日韩超碰人人爽人人做人人添| 日韩久久久久久久久久久久久| 亚洲色图欧美| 六月丁香婷婷激情| 国产一区二区精品久久| 日韩片在线观看| 亚洲精品久久久久久国产精华液| 日本韩国欧美中文字幕| 51久久夜色精品国产麻豆| 日韩精品系列| 欧美精品少妇videofree| 日本精品在线中文字幕| 国产亚洲欧美一区二区| 婷婷综合伊人| 免费大片在线观看| 成人综合在线视频| 999精品在线视频| 色婷婷av久久久久久久| 人妻妺妺窝人体色www聚色窝| 色综合伊人色综合网| 成人线上视频| 一区二区三区四区不卡视频| 国产在线xxxx| 免费在线观看精品| 国产精品麻豆入口| 国产成人精品亚洲777人妖| 国产在线综合视频| 欧美日韩亚洲一区二区| 91一区二区视频| 亚洲视频第一页| 91黄页在线观看| 99电影在线观看| 中文字幕一区二区三区欧美日韩 | 中国人体摄影一区二区三区| 性娇小13――14欧美| 亚洲黄色免费在线观看| 依依成人综合视频| 国产手机精品视频| 精品久久久999| 激情小说亚洲| 午夜精品短视频| 日韩中文欧美在线| 亚洲国产无码精品| 精品成人av一区| 日本高清视频网站| 午夜精品视频在线| 六月丁香久久丫| 美女日批免费视频| zzijzzij亚洲日本少妇熟睡| 国产一级片网址| 亚洲国产精品人人爽夜夜爽| wwww在线观看免费视频| 国产精品久久国产三级国电话系列| 亚洲精品国产偷自在线观看| 日韩va在线观看| 中文字幕日韩精品一区| 一级黄色a视频| 久久深夜福利免费观看| 成人豆花视频| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 在线一区二区日韩| 福利一区二区免费视频| 亚洲国产一区二区三区在线播| 蜜臀av性久久久久av蜜臀妖精| 卡一卡二卡三在线观看| 欧美三区在线观看| 日本中文字幕在线看| 亚洲一区二区三| 极品中文字幕一区| 大又大又粗又硬又爽少妇毛片| 日韩欧美精品网站| 国产色在线 com| 国产日韩在线视频| 欧美 日韩 国产一区二区在线视频 | 欧美一区二区视频17c| 日韩av成人高清| 日本中文在线视频| 精品乱码亚洲一区二区不卡| 日韩激情电影| 亚洲一区高清| 成人午夜伦理影院| 日韩手机在线视频| 久久久国产一区二区| 成人激情自拍| 欧美精品成人网| 一区二区三区四区在线免费观看| 日韩中文字幕综合| 国产成人久久久精品一区| 欧美激情国产在线| 亚洲欧美日韩色| 在线观看一区二区视频| gogo在线观看| 久中文字幕一区| 国产一区视频在线看| 日韩三级av在线| 中文字幕在线观看日韩| 日韩视频一二区| 情侣黄网站免费看| 亚洲品质自拍视频网站| 亚洲人成色777777精品音频| 国产精品美女久久久久久免费| 红桃视频欧美| 啪啪一区二区三区| 日韩国产欧美精品在线| 欧美a一级片| 国产精品无码av在线播放| 亚洲欧洲无码一区二区三区| 人妻一区二区三区四区| 成人黄色网免费| 老鸭窝91久久精品色噜噜导演| 在线观看黄网址| 一本一本久久a久久精品牛牛影视 一本色道久久综合亚洲精品小说 一本色道久久综合狠狠躁篇怎么玩 | 亚洲国产精品电影|