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

C語言操作時間函數,實現定時執行某個任務小程序

開發 后端
時間操作函數在實際項目開發中會經常用到,最近做項目也正好用到就正好順便整理一下。

 [[345952]]

時間操作函數在實際項目開發中會經常用到,最近做項目也正好用到就正好順便整理一下。

時間概述

 

 


由上圖可知:

 

 

1.通過系統調用函數time()可以從內核獲得一個類型為time_t的1個值,該值叫calendar時間,即從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。而該時間也用于紀念UNIX的誕生。

2.函數gmtime()、localtime()可以將calendar時間轉變成struct tm結構體類型變量中。通過該結構體成員可以很方便的得到當前的時間信息。我們也可以通過函數mktime將該類型結構體的變量轉變成calendar時間。

  1. struct tm{ 
  2.  int tm_sec;/*秒數*/ 
  3.  int tm_min; /*分鐘*/ 
  4.  int tm_hour;/*小時*/ 
  5.  int tm_mday;/*日期*/ 
  6.  int tm_mon; /*月份*/ 
  7.  int tm_year; /*從1990年算起至今的年數*/ 
  8.  int tm_wday; /*星期*/ 
  9.  int tm_yday; /*從今年1月1日算起至今的天數*/ 
  10.  int tm_isdst; /*日光節約時間的旗標*/ 
  11. }; 

3.asctime()和ctime()函數產生形式的26字節字符串,這與date命令的系統默認輸出形式類似:Tue Feb 10 18:27:38 2020/n/0.

4.strftime()將一個struct tm結構格式化為一個字符串。

常用時間函數及舉例

1、time函數

  1. 頭文件:time.h 
  2. 函數定義:time_t time (time_t *t) 
  3. 說明: 
  4.  返回從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。 

舉例如下:

  1. #include<stdio.h> 
  2. #include<time.h> 
  3. int main(){ 
  4.  time_t timep; 
  5.   
  6.  long seconds = time(&timep); 
  7.  printf("%ld\n",seconds); 
  8.  printf("%ld\n",timep); 
  9.  return 0; 

輸出:

有興趣的同學可以計算下,從1970年1月1日0時0分0秒到現在經歷了多少秒。

 

附:time_t 一路追蹤發現就是從long類型經過不斷的typedef ,#define定義過來的。

2、ctime函數

  1. 定義:char *ctime(const time_t *timep); 
  2. 說明:將參數所指的time_t結構中的信息轉換成真實世界的時間日期表示方法,然后將結果以字符串形式返回。 
  3. 注意這個是本地時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include<time.h> 
  3. int main(void) { 
  4.  time_t timep; 
  5.   
  6.  time(&timep); 
  7.  printf("%s\n",ctime(&timep)); 
  8.  return 0; 

輸出:

 

3、gmtime函數

  1. 定義:struct tm *gmtime(const time_t *timep); 
  2. 說明:將參數timep所指的time_t結構中的信息轉換成真實世界所使用的時間日期表示方法,然后將結果由結構tm返回。此函數返回的時間日期未經時區轉換,而是UTC時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include<time.h> 
  3.   
  4. int main(void) { 
  5.  char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; 
  6.   
  7.  time_t timep; 
  8.  struct tm *p; 
  9.   
  10.  time(&timep); 
  11.  p = gmtime(&timep); 
  12.  printf("%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); 
  13.  printf("%s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec); 
  14.  return 0; 

輸出:

 

4、 strftime函數

  1. #include <time.h>  
  2. 定義:   
  3. size_t strftime(char *s, size_t max, const char *format,const struct tm *tm); 
  4. 說明: 
  5. 類似于snprintf函數,我們可以根據format指向的格式字符串,將struct tm結構體中信息輸出到s指針指向的字符串中,最多為max個字節。當然s指針指向的地址需提前分配空間,比如字符數組或者malloc開辟的堆空間。 
  6. 其中,格式化字符串各種日期和時間的詳細的確切表示方法有如下多種,我們可以根據需要來格式化各種各樣的含時間字符串。 
  7.     %a 星期幾的簡寫 
  8.     %A 星期幾的全稱 
  9.     %b 月分的簡寫 
  10.     %B 月份的全稱 
  11.     %c 標準的日期的時間串 
  12.     %C 年份的前兩位數字 
  13.     %d 十進制表示的每月的第幾天 
  14.     %D 月/天/年 
  15.     %e 在兩字符域中,十進制表示的每月的第幾天 
  16.     %F 年-月-日 
  17.     %g 年份的后兩位數字,使用基于周的年 
  18.     %G 年分,使用基于周的年 
  19.     %h 簡寫的月份名 
  20.     %H 24小時制的小時 
  21.     %I 12小時制的小時 
  22.     %j 十進制表示的每年的第幾天 
  23.     %m 十進制表示的月份 
  24.     %M 十時制表示的分鐘數 
  25.     %n 新行符 
  26.     %p 本地的AM或PM的等價顯示 
  27.     %r 12小時的時間 
  28.     %R 顯示小時和分鐘:hh:mm 
  29.     %S 十進制的秒數 
  30.     %t 水平制表符 
  31.     %T 顯示時分秒:hh:mm:ss 
  32.     %u 每周的第幾天,星期一為第一天 (值從0到6,星期一為0) 
  33.     %U 第年的第幾周,把星期日做為第一天(值從0到53) 
  34.     %V 每年的第幾周,使用基于周的年 
  35.     %w 十進制表示的星期幾(值從0到6,星期天為0) 
  36.     %W 每年的第幾周,把星期一做為第一天(值從0到53) 
  37.     %x 標準的日期串 
  38.     %X 標準的時間串 
  39.     %y 不帶世紀的十進制年份(值從0到99) 
  40.     %Y 帶世紀部分的十制年份 
  41.     %z,%Z 時區名稱,如果不能得到時區名稱則返回空字符。 
  42.     %% 百分號 
  43. 返回值: 
  44. 成功的話返回格式化之后s字符串的字節數,不包括null終止字符,但是返回的字符串包括null字節終止字符。否則返回0,s字符串的內容是未定義的。值得注意的是,這是libc4.4.4以后版本開始的。對于一些的老的libc庫,比如4.4.1,如果給定的max較小的話,則返回max值。即返回字符串所能容納的最大字節數。 

舉例如下:

  1.  1 #include <stdio.h> 
  2.  2 #include <time.h> 
  3.  3  
  4.  4 #define BUFLEN 255 
  5.  5 int main(int argc, char **argv) 
  6.  6 { 
  7.  7     time_t t = time( 0 );    
  8.  8     char tmpBuf[BUFLEN];    
  9.  9                                                                              
  10. 10     strftime(tmpBuf, BUFLEN, "%Y%m%d%H%M%S", localtime(&t)); //format date a 
  11. 11     printf("%s\n",tmpBuf); 
  12. 12     return 0; 
  13. 13 } 

執行結果如下:

輸出結果表示YYYYmmDDHHMMSS

 

5、 asctime函數

  1. 定義: 
  2. char *asctime(const struct tm *timeptr); 
  3. 說明: 
  4.  將參數timeptr所指的struct tm結構中的信息轉換成真實時間所使用的時間日期表示方法,結果以字符串形態返回。與ctime()函數不同之處在于傳入的參數是不同的結構。 
  5. 返回值: 
  6.  返回的也是UTC時間。 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4. int main(void) { 
  5.  time_t timep; 
  6.   
  7.  time(&timep); 
  8.  printf("%s\n",asctime(gmtime(&timep))); 
  9.  return EXIT_SUCCESS; 

輸出:

 

6、 localhost函數

  1. struct tm *localhost(const time_t *timep); 
  2. 取得當地目前的時間和日期 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4.   
  5. int main(void) { 
  6.  char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; 
  7.  time_t timep; 
  8.  struct tm *p; 
  9.   
  10.  time(&timep); 
  11.  p = localtime(&timep); 
  12.  printf("%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); 
  13.  printf("%s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec); 
  14.  return EXIT_SUCCESS; 

輸出:

 

7、mktime函數

  1. 定義:time_t mktime(struct tm *timeptr); 
  2. 說明: 
  3.  用來將參數timeptr所指的tm結構數據轉換成從1970年1月1日的UTC時間從0時0分0妙算起到現在所經過的秒數。 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4.   
  5. int main(void) { 
  6.  time_t timep; 
  7.  struct tm *p; 
  8.   
  9.  time(&timep); 
  10.  printf("time():%ld\n",timep); 
  11.  p = localtime(&timep); 
  12.  timep = mktime(p); 
  13.  printf("time()->localtime()->mktime():%ld\n",timep); 
  14.  return EXIT_SUCCESS; 

輸出:

 

8、 gettimeofday函數

  1. 定義: 
  2. int gettimeofday(struct timeval *tv,struct timezone *tz); 
  3. 說明: 
  4.  把目前的時間由tv所指的結構返回,當地時區信息則放到有tz所指的結構中, 

結構體timeval 定義如下:

  1. struct timeval{ 
  2.  long tv_sec; /*秒*/ 
  3.  long tv_usec; /*微秒*/ 
  4. }; 

結構體timezone定義如下:

  1. struct timezone{ 
  2.  int tz_minuteswest; /*和greenwich時間差了多少分鐘*/ 
  3.  int tz_dsttime; /*日光節約時間的狀態*/ 

舉例如下:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. #include<time.h> 
  4. #include<sys/time.h> 
  5.   
  6. int main(void) { 
  7. struct timeval tv; 
  8. struct timezone tz; 
  9. gettimeofday(&tv,&tz); 
  10. printf("tv_sec :%d\n",tv.tv_sec); 
  11. printf("tv_usec: %d\n",tv.tv_usec); 
  12. printf("tz_minuteswest:%d\n",tz.tz_minuteswest); 
  13. printf("tz_dsttime:%d\n",tz.tz_dsttime); 
  14. return EXIT_SUCCESS; 

輸出:

 

 

綜合實驗

現在我們利用這些時間函數,來實現一個定時執行某個任務得功能。

功能

  1. 程序運行時要記錄當前日志文件的最后修改時間;
  2. 每個10秒鐘就檢查下log文件是否被修改,如果沒有被修改就休眠10秒鐘;
  3. 如果log文件被修改了,就將當前的日志文件拷貝成備份文件,備份文件名字加上當前時間;
  4. 通過curl發送給ftp服務器;
  5. 刪除備份文件,重復步驟2。

程序流程圖如下:

 

在這里插入圖片描述

 

函數功能介紹

init()

首先記錄當前log文件時間,并記錄到全局變量last_mtime中。

check_file_change()讀取文件最后修改時間,并和last_mtime進行比較,如果相同就返回0,不同就返回1.

file_name_add_time()將當前的日志文件拷貝成備份文件,備份文件名字加上當前時間。

stat()

得到對應文件的屬性信息,存放到struct stat結構體變量中。

運行截圖:

第一步:

 

因為log文件沒有被修改過,所以程序不會上傳。

 

第二步:手動輸入字符串 yikoulinux 到日志文件 t.log中。

 

第三步:因為文件發生了改變,所以打印“file updated”,同時可以看到curl上傳文件的log信息。


以下是FTP服務器的根目錄,可以看到,上傳的日志文件:t-2020-7-26-1-19-45.log。

 

 

 

 

【補充】

1.配置信息,直接在代碼中寫死,通常應該從配置文件中讀取,為方便讀者閱讀,本代碼沒有增加該功能;

2.FTP服務器搭建,本文沒有說明,相關文件比較多,大家可以自行搜索,一口君用的是File zilla;

 

3.通常這種需要長時間運行的程序,需要設置成守護進程,本文沒有添加相應功能,讀者可以自行搜索。如果強烈要求可以單開一篇詳細介紹。

4.代碼中time的管理函數,請讀者自行搜索相關文章。

5.curl也提供了相關的函數庫curl.lib,如果要實現更靈活的功能可以使用對應的api。

之所以先把文件拷貝成備份文件,主要是考慮其他模塊隨時可能修改日志文件,起到一定保護作用。

代碼如下

代碼如下:

  1. /*************************************************** 
  2.            Copyright (C)  公眾號: 一口linux   
  3. ***************************************************/ 
  4. #include <sys/stat.h> 
  5. #include <stdio.h> 
  6. #include <stdlib.h> 
  7. #include <unistd.h> 
  8. #include <time.h> 
  9.   
  10. typedef struct stat ST; 
  11. unsigned long last_mtime; 
  12.  
  13. /*用戶名密碼暫時寫死,實際應該保存在配置文件*/ 
  14. char name[32]="user"
  15. char pass[32] ="123456"
  16. char ip[32]     ="192.168.43.117"
  17. char filename[32]="t.log"
  18. char dstfile[256]  ={0}; 
  19.  
  20. int init(void) 
  21.  //準備結構體 
  22.  ST status; 
  23.   
  24.  //調用stat函數 
  25.  int res = stat(filename,&status); 
  26.  if(-1 == res) 
  27.  { 
  28.   perror("error:open file fail\n"); 
  29.   return 0; 
  30.  } 
  31.  last_mtime = status.st_mtime; 
  32.  printf("init time:%s \n",ctime(&last_mtime)); 
  33.  return 1; 
  34.   
  35. int  check_file_change(void) 
  36.  //準備結構體 
  37.  ST status; 
  38.   
  39.  //調用stat函數 
  40.  int res = stat(filename,&status); 
  41.  if(-1 == res) 
  42.  { 
  43.   perror("error:open file fail\n"); 
  44.   return 0; 
  45.  } 
  46. // printf("old:%s new:%s",ctime(&last_mtime),ctime(&status.st_mtime)); 
  47.  if(last_mtime == status.st_mtime) 
  48.  { 
  49.   printf("file not change\n"); 
  50.   return 0; 
  51.  }else
  52.   printf("file updated\n");  
  53.   last_mtime = status.st_mtime; 
  54.   return 1; 
  55.  } 
  56.  
  57. void file_name_add_time(void) 
  58.  ST status; 
  59.  time_t t;   
  60.  struct tm *tblock;  
  61.  char cmd[1024]={0}; 
  62.    
  63.  t = time(NULL); 
  64.  tblock = localtime(&t); 
  65.   
  66.  sprintf(dstfile,"t-%d-%d-%d-%d-%d-%d.log"
  67.   tblock->tm_year+1900, 
  68.   tblock->tm_mon, 
  69.   tblock->tm_mday, 
  70.   tblock->tm_hour, 
  71.   tblock->tm_min, 
  72.   tblock->tm_sec); 
  73.  sprintf(cmd,"cp %s %s",filename,dstfile); 
  74. // printf("cdm=%s\n",cmd); 
  75.  system(cmd); 
  76. int main(void) 
  77.  
  78.  char cmd[1024]={0}; 
  79.  
  80.  init(); 
  81.  while(1) 
  82.  {  
  83.   if(check_file_change() == 1) 
  84.   { 
  85.    file_name_add_time(); 
  86.    sprintf(cmd,"curl -u %s:%s ftp://%s/ -T %s",name,pass,ip,dstfile); 
  87.  //  printf("cdm=%s\n",cmd); 
  88.    system(cmd); 
  89.    unlink(dstfile); 
  90.   } 
  91.   sleep(10);  
  92.  } 

本文轉載自微信公眾號「 一口Linux」,可以通過以下二維碼關注。轉載本文請聯系 一口Linux公眾號。

 

責任編輯:武曉燕 來源: 一口Linux
相關推薦

2012-02-07 13:31:14

SpringJava

2024-01-22 00:35:00

C++函數開發

2009-09-21 09:57:15

linux進程cron

2022-07-26 08:02:33

Android微信程序

2010-03-11 19:16:32

Python語言

2022-08-15 15:43:29

Linuxcron

2010-02-05 15:59:26

C++函數重載

2023-09-14 12:35:28

寄存器

2021-10-14 15:34:48

C語言字符串函數

2024-11-04 16:01:01

2020-12-21 07:31:23

實現單機JDK

2024-12-27 08:24:55

2010-06-09 15:15:34

MySQL定時執行

2010-07-15 14:54:51

at命令crontab定時執行任務

2019-08-28 07:45:45

數據存儲層多線程

2024-11-25 15:00:00

C#定時任務開發

2021-09-07 13:15:01

語言return 1return 0

2023-12-19 08:09:06

Python定時任務Cron表達式

2025-08-01 08:47:45

2022-03-28 08:31:29

線程池定時任務
點贊
收藏

51CTO技術棧公眾號

牛牛热在线视频| 亚洲熟妇无码av| 麻豆影视在线观看_| 精品伊人久久久久7777人| 久久久精品视频成人| 亚洲综合20p| av中文字幕在线看| 久久精品在线免费观看| 国产欧美精品日韩| 国产精品9191| 国产一区毛片| 欧美一区二区在线播放| 99在线免费视频观看| 你懂的在线免费观看| 久草这里只有精品视频| 韩国欧美亚洲国产| 手机看片日韩av| 97视频一区| 欧美专区日韩专区| 无码日本精品xxxxxxxxx| 青青草视频在线观看| 韩国v欧美v亚洲v日本v| 91爱爱小视频k| 欧美风情第一页| 任我爽精品视频在线播放| 欧美日韩综合在线免费观看| 热久久最新网址| 国产在线黄色| 成人免费va视频| 国产日韩欧美视频| 黑人一级大毛片| 久久精品影视| 一本色道久久综合狠狠躁篇的优点| 久久久久亚洲av片无码v| 涩涩网在线视频| 一区二区三区日韩欧美精品| 日韩高清av电影| 人妻丰满熟妇av无码区hd| 免费精品视频最新在线| 欧美一级黄色网| 国产亚洲精品久久久久久无几年桃| 欧美老女人另类| 日韩乱码在线视频| 人妻互换一二三区激情视频| 久久99国产精品二区高清软件| 欧美日韩国产一中文字不卡 | 国产小视频免费| www亚洲人| 久久综合九色综合97婷婷女人| 97se在线视频| 国产理论视频在线观看| 日韩电影在线观看网站| 26uuu另类亚洲欧美日本一| 亚洲成人生活片| 国产高清一区| 中文字幕亚洲欧美日韩高清| 91中文字幕永久在线| 国产精品三p一区二区| 欧美一区午夜精品| 看看黄色一级片| 精品视频在线一区二区在线| 一本大道久久a久久综合婷婷 | 素人fc2av清纯18岁| 成人福利一区| 精品免费99久久| 制服下的诱惑暮生| av在线精品| 3d动漫精品啪啪一区二区竹菊| 国产精品久久a| 69堂免费精品视频在线播放| 一本色道久久综合亚洲aⅴ蜜桃| heyzo亚洲| 蜜桃在线视频| 欧美午夜精品伦理| 欧美污视频网站| a一区二区三区| 色香蕉久久蜜桃| av网站在线观看不卡| 亚洲性色av| 懂色av影视一区二区三区| 国产91美女视频| 裤袜国产欧美精品一区| 欧美综合视频在线观看| 久久综合伊人77777麻豆最新章节| 国产亚洲一区二区手机在线观看| 在线精品视频免费观看| 日韩欧美国产片| 亚洲日日夜夜| 精品国产一二三区| 在线免费观看污视频| 亚洲高清极品| 中文字幕日韩精品有码视频| 亚洲综合久久av一区二区三区| 亚洲a在线视频| 久久99热精品| 色屁屁影院www国产高清麻豆| 日韩av中文字幕一区二区| 成人a级免费视频| 欧美 日韩 中文字幕| 久久网站最新地址| 国产又大又长又粗又黄| 福利小视频在线| 色一区在线观看| 在线免费黄色网| 久久男人av| 色99之美女主播在线视频| 久久午夜无码鲁丝片| 裸体一区二区| 91久久爱成人| 免费在线黄色电影| 亚洲精品国产第一综合99久久| 男人添女人下面高潮视频| 偷拍视频一区二区三区| 日韩无一区二区| 魔女鞋交玉足榨精调教| 综合av在线| 国产91色在线|免| 午夜精品小视频| 日本一区二区三区高清不卡| 成人av在线播放观看| 精品丝袜在线| 欧美一级免费观看| 日本一级免费视频| 1024日韩| 91久久偷偷做嫩草影院| 国产综合在线观看| 五月开心婷婷久久| 久久久久亚洲av无码麻豆| 国产欧美日韩免费观看 | 欧美日韩国产不卡在线看| 久久日韩视频| 在线观看成人小视频| 亚洲天堂美女视频| 欧美日韩午夜| 亚洲va欧美va国产综合久久| 国产黄在线观看免费观看不卡| 亚洲一区二区三区三| 亚洲视频第二页| 精品免费av| 91av国产在线| 好吊色在线观看| 亚洲精品老司机| 亚洲午夜激情影院| 精品九九在线| 国产成人av在线播放| 婷婷视频在线观看| 亚洲综合视频在线观看| 午夜免费一级片| 色欧美自拍视频| 国产精品日日做人人爱 | 日韩小视频在线| 丰满熟女人妻一区二区三 | 日本高清黄色片| 久久精品人人| 欧美亚洲另类在线一区二区三区 | 亚洲狠狠丁香婷婷综合久久久| 亚洲成人福利在线| 日韩一区二区在线| 国产日本欧美一区| 欧美精品电影| 欧美一区二区视频在线观看| 欧美第一页在线观看| 久久精品国产一区二区三区免费看 | 成人性片免费| 综合久久五月天| 亚洲天堂手机在线| 中文字幕一区二区不卡| 8x8x成人免费视频| 午夜精品视频一区二区三区在线看| 国产日韩欧美成人| 91麻豆国产福利在线观看宅福利| 日韩一区二区三区三四区视频在线观看| 欧美日韩午夜视频| 国产精品99久久久| 国产精品国产对白熟妇| 老牛影视av一区二区在线观看 | 欧美国产大片| 中文字幕亚洲欧美一区二区三区 | 正在播放亚洲一区| 欧美黄片一区二区三区| 成人激情校园春色| 一女被多男玩喷潮视频| 欧美日韩水蜜桃| 成人av在线亚洲| 福利写真视频网站在线| 亚洲免费人成在线视频观看| 中文字幕第三页| 亚洲精品视频在线看| 亚洲 欧美 日韩在线| 久久久xxx| 一本色道久久综合亚洲二区三区| 精品视频成人| 51色欧美片视频在线观看| 成人在线免费观看| 欧美一区二区久久| 欧美三级一区二区三区| 中文字幕精品三区| 美女被艹视频网站| 免费永久网站黄欧美| 亚洲巨乳在线观看| 风间由美一区二区av101| 日本精品久久中文字幕佐佐木 | 按摩亚洲人久久| 懂色av一区二区三区四区| 日韩欧美国产网站| 日本女人性生活视频| 国产成人精品一区二区三区网站观看 | 丰满人妻一区二区三区免费视频| 日韩码欧中文字| 99热超碰在线| 日韩精品亚洲一区二区三区免费| 正义之心1992免费观看全集完整版| 97品白浆高清久久久久久| 91成人性视频| 日本中文字幕在线2020| 精品剧情在线观看| 中文字幕一区二区三区免费看| 亚洲精品欧美二区三区中文字幕| avtt中文字幕| 日韩激情视频在线观看| 波多野结衣与黑人| 国产区精品区| 高清日韩一区| 成人亚洲免费| 97视频在线观看亚洲| 日本在线人成| 精品无人国产偷自产在线| 国产又粗又猛视频| 欧美天堂在线观看| 久久久久久激情| 欧美激情一区二区| 超碰男人的天堂| 岛国一区二区三区| 手机免费看av网站| 日韩精品91亚洲二区在线观看| 黄色一级大片免费| 999精品视频| 欧美午夜视频在线| 日韩激情啪啪| 国产精品高精视频免费| 色老头在线一区二区三区| 九九热最新视频//这里只有精品| 成人在线播放视频| 欧美一级片免费看| 国产伦精品一区二区三区免.费| 欧美午夜丰满在线18影院| 久久久一区二区三区四区| 国产精品对白交换视频 | 99久久这里有精品| 国产精品成久久久久三级| 麻豆成全视频免费观看在线看| 欧美成人午夜激情视频| 国产爆初菊在线观看免费视频网站 | 欧美精品99久久| 国产综合精品一区| 日本丰满大乳奶| 日韩精品永久网址| 亚洲精品国产精品久久| 国产精品三级| 欧美黑人3p| 麻豆视频一区| 91视频免费在线| 日韩av综合| 亚洲自拍高清视频网站| 粉嫩av国产一区二区三区| 国产精品美乳在线观看| 国产乱子精品一区二区在线观看| 国产精品久久久久免费a∨大胸| 亚洲午夜天堂| 国产精品激情自拍| 精品免费av一区二区三区| 国产成人一区二区三区| 3d性欧美动漫精品xxxx软件| 国产精品吴梦梦| 色噜噜成人av在线| 91久久夜色精品国产网站| 在线精品视频一区| 国产在线欧美日韩| 日韩中文av| 美国av一区二区三区| 日韩激情一区| 午夜啪啪福利视频| 亚洲小说欧美另类婷婷| 日韩免费一级视频| 日韩精品1区2区3区| 亚洲欧美自拍另类日韩| 国产一区二区三区精品欧美日韩一区二区三区 | 99麻豆久久久国产精品免费优播| 波多野结衣影院| 久久精品综合网| 欧美爱爱小视频| 午夜精品成人在线| 亚洲综合久久网| 在线观看av一区二区| av在线资源观看| 欧美精品一区二区三区视频| 亚洲色图21p| 精品国模在线视频| 黄色在线看片| 日本亚洲欧洲色| 国产欧美日韩电影| 精品伦理一区二区三区| 久久91成人| 艳母动漫在线观看| 亚洲女同同性videoxma| 亚洲天堂av一区二区| 成人激情视频网站| 老司机精品免费视频| 亚洲综合成人网| 免费av中文字幕| 日韩欧美二区三区| 日韩精品系列| 欧美另类69精品久久久久9999| 少妇视频在线观看| 999视频在线观看| 久久不见久久见国语| 国产精品无码乱伦| 久久xxxx精品视频| 免费高清视频在线观看| 久久综合色综合88| 久久久精品国产sm调教网站| 在线视频你懂得一区| 高h放荡受浪受bl| 日韩专区中文字幕| 在线看片国产福利你懂的| 91视频免费网站| 视频一区欧美| 欧美日本视频在线观看| 国产精品一区专区| 欧美三级视频网站| 大伊人狠狠躁夜夜躁av一区| 99在线观看精品视频| 国产性猛交xxxx免费看久久| 成年网站在线视频网站| 国产精品香蕉av| 任你弄精品视频免费观看| 国产成人一区二区三区别| 久久精品二区亚洲w码| 特级西西人体4444xxxx| 国产精品成人一区二区三区夜夜夜| 久草手机在线观看| 精品国产伦一区二区三区观看体验| 一级毛片视频在线观看| 欧洲日韩成人av| 精品久久ai电影| www.男人天堂网| 国产精品中文欧美| 九九精品视频免费| 欧美图区在线视频| 国产大片在线免费观看| 欧亚精品在线观看| 日本一区精品视频| japanese在线播放| 韩国一区二区在线观看| 久久精品成人av| 色婷婷亚洲婷婷| 四虎精品成人免费网站| 欧美激情极品视频| 少妇精品视频一区二区免费看| 精品网站在线看| 亚洲精选91| 国产乱了高清露脸对白| 亚洲午夜精品久久久久久久久| 丰满少妇被猛烈进入| 欧美日本高清视频| 日本免费一区二区视频| 日韩精品在线视频免费观看| 国产成人av一区二区三区在线 | 欧美激情中文字幕| 亚洲天堂一二三| 最近2019中文免费高清视频观看www99 | 欧美18视频| 日本vs亚洲vs韩国一区三区 | 欧美国产精品中文字幕| 亚洲av中文无码乱人伦在线视色| 日韩乱码在线视频| 偷拍视频一区二区三区| 久久久久久久久久久一区| 亚洲一级在线| 国产ts在线播放| 欧美日韩免费一区二区三区视频| 最新97超碰在线| 91久久精品国产| 狠狠入ady亚洲精品经典电影| 欧美激情 亚洲| 日韩欧美高清视频| 免费在线你懂的| 97中文在线| 亚洲一区欧美激情| 国精产品一区一区| 日韩一级大片在线观看| 三级网站视频在在线播放| 久久久7777| 久久精品国产亚洲高清剧情介绍 | 精品国产乱码一区二区三| 欧美激情在线狂野欧美精品| 国产成人三级| 亚洲一二区在线观看| 亚洲成人免费观看| jyzzz在线观看视频|