亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? datetime.h

?? 日期時間工具函數。含有計算星期幾、從0000年以來天數和毫秒數、日期加減和日期比較等
?? H
字號:
/******************************************************************************
  Date and time utilities for C/C++
  Written by M.K.Ho (hmk409@yahoo.com)

  Description:
    This utilities is designed for date and time management in C/C++. The
	functions include calculation of Day of week, Leap year, Days elapsed from
	0000, Millisecond elapsed from 00:00:00:0000, Date time addition and
	subtraction and Difference between two date time. This utilities also
	support DATE data type. The purpose of these functions is to provide the
	efficient, easy and powerful tools to manage date and time.

  History:
    2001-10-30  M.K.HO  - Final
	2001-11-01  M.K.HO  - Bug Fixed: dt_days_elapse_year(), dt_add(), dt_sub()
	                    - DATE date type supported
						- Two ways convesion supported: DT_days <=> DT_Date,
						  DT_MS <=> DT_Time, DATE <=> DT_DateTime
******************************************************************************/

#ifndef __DATETIME_H__
#define __DATETIME_H__

#ifndef Int16
typedef short Int16;
#endif

#ifndef UInt16
typedef unsigned short UInt16;
#endif

#ifndef Int32
typedef int Int32;
#endif

#ifndef BOOL
typedef int BOOL;
#endif

#ifndef TRUE
#define TRUE	-1
#endif

#ifndef FALSE
#define FALSE	0
#endif

enum DT_MonthEnum
{	DTM_January = 0,
	DTM_Febrary = 1,
	DTM_March = 2,
	DTM_April = 3,
	DTM_May = 4,
	DTM_June = 5,
	DTM_July = 6,
	DTM_August = 7,
	DTM_September = 8,
	DTM_October = 9,
	DTM_November = 10,
	DTM_December = 11,

	DTM_JAN = 0,
	DTM_FEB = 1,
	DTM_MAR = 2,
	DTM_APR = 3,
	DTM_MAY = 4,
	DTM_JUN = 5,
	DTM_JUL = 6,
	DTM_AUG = 7,
	DTM_SEP = 8,
	DTM_OCT = 9,
	DTM_NOV = 10,
	DTM_DEC = 11,

	DTM_1 = 0,
	DTM_2 = 1,
	DTM_3 = 2,
	DTM_4 = 3,
	DTM_5 = 4,
	DTM_6 = 5,
	DTM_7 = 6,
	DTM_8 = 7,
	DTM_9 = 8,
	DTM_10 = 9,
	DTM_11 = 10,
	DTM_12 = 11,
};

enum DT_DayOfWeekEnum
{	DTDOW_Sunday = 0,
	DTDOW_Monday = 1,
	DTDOW_Tuesday = 2,
	DTDOW_Wednesday = 3,
	DTDOW_Thusday = 4,
	DTDOW_Friday = 5,
	DTDOW_Saturday = 6,

	DTDOW_SUN = 0,
	DTDOW_MON = 1,
	DTDOW_TUE = 2,
	DTDOW_WED = 3,
	DTDOW_THU = 4,
	DTDOW_FRI = 5,
	DTDOW_SAT = 6,
};

typedef struct DT_TimeTag
{	Int16 millisecond;
	Int16 second;
	Int16 minute;
	Int16 hour;
} DT_Time;

typedef struct DT_DateTag
{	Int16 day;
	Int16 month;
	Int16 year;
} DT_Date;

typedef struct DT_DateTimeTag
{	DT_Time time;
	DT_Date date;
} DT_DateTime;

typedef struct DT_SpanTag
{	UInt16 millisecond;
	UInt16 second;
	UInt16 minute;
	UInt16 hour;
	UInt16 day;
	UInt16 month;
	UInt16 year;
} DT_Span;

typedef Int32 DT_Days;
typedef Int32 DT_MS;

// see MSDN, DATE type, implementation
#ifndef DATE
typedef double DATE;
#endif

/*****************************************************************************/
#if defined(__cplusplus)
extern "C" {
#endif

#define dt_is_leap_year(y)	((((y)%400)==0)||((((y)%4)==0)&&(((y)%100)!=0)))

DT_DayOfWeekEnum dt_day_of_week ( Int16 y, Int16 m, Int16 d );

DT_Days dt_days_in_month ( Int16 y, Int16 m );
DT_Days dt_days_in_year ( Int16 y );
DT_Days dt_days_elapse_date ( Int16 y, Int16 m, Int16 d );
DT_Days dt_days_elapse_month ( Int16 y, Int16 m );
DT_Days dt_days_elapse_year ( Int16 y );
DT_Days dt_days_diff ( const DT_Date *to, const DT_Date *from );
void dt_days_to_date ( DT_Days days, DT_Date *date );

DT_MS dt_ms_elapse_time ( Int16 h, Int16 m, Int16 s, Int16 ms );
DT_MS dt_ms_diff ( const DT_Time *to, const DT_Time *from );
void dt_ms_to_time ( DT_MS ms, DT_Time *time );

void dt_GetLocal ( DT_DateTime *dt );
void dt_GetUTC ( DT_DateTime *dt );
#ifdef WIN32
void dt_SetLocal ( const DT_DateTime *dt );
void dt_SetUTC ( const DT_DateTime *dt );
#endif

BOOL dt_valid_date ( const DT_Date *date );
BOOL dt_valid_time ( const DT_Time *time );

void dt_adjust ( DT_DateTime *dt );
Int32 dt_compare ( const DT_DateTime *dt1, const DT_DateTime *dt2 );
void dt_add ( DT_DateTime *dt, const DT_Span *span );
// 0 - 3 days error after dt_sub
#define dt_sub_max_days_error	3
void dt_sub ( DT_DateTime *dt, const DT_Span *span );

Int32 dt_date_compare ( const DT_Date *d1, const DT_Date *d2 );
Int32 dt_time_compare ( const DT_Time *t1, const DT_Time *t2 );

void dt_days_ms_adjust ( DT_Days *days, DT_MS *ms );
Int32 dt_days_ms_compare ( DT_Days days1, DT_MS ms1, DT_Days days2, DT_MS ms2 );

void dt_from_DATE ( DT_DateTime *dt, DATE date );
DATE dt_to_DATE ( const DT_DateTime *dt );

#if defined(__cplusplus)
}
#endif

/*****************************************************************************/

#if defined(__cplusplus)

class DTC_DateTime : public DT_DateTimeTag
{
public:
	inline DTC_DateTime (void);
	inline DTC_DateTime ( const DT_DateTime &dt );
	inline DTC_DateTime ( const DT_Date &_date );
	inline DTC_DateTime ( const DT_Time &_time );
	inline DTC_DateTime ( DT_Days days, DT_MS ms );
	inline DTC_DateTime ( DATE _date );
	inline ~DTC_DateTime (void);
public:
	inline void GetLocal (void);
	inline void SetLocal (void);
	inline void GetUTC (void);
	inline void SetUTC (void);

	inline void SetTo ( const DT_DateTime &dt );
	inline void SetTo ( const DT_Date &_date );
	inline void SetTo ( const DT_Time &_time );
	inline void SetTo ( DATE _date );

	inline DT_DayOfWeekEnum DayOfWeek (void) const;

	inline void Adjust (void);
	inline void Add ( const DT_Span &span );
	inline void Sub ( const DT_Span &span );
	inline BOOL CompareTo ( const DT_DateTime &dt ) const;

	inline DT_Days GetDays (void) const;
	inline DT_MS GetMS (void) const;
	inline DATE GetDATE (void) const;

	inline DT_DateTime &operator = ( const DT_DateTime &dt );
	inline DT_DateTime &operator = ( const DT_Date &_date );
	inline DT_DateTime &operator = ( const DT_Time &_time );
	inline DT_DateTime &operator = ( DATE _date );
	inline void operator += ( const DT_Span &span );
	inline void operator -= ( const DT_Span &span );
	inline BOOL operator < ( const DT_DateTime &dt ) const;
	inline BOOL operator <= ( const DT_DateTime &dt ) const;
	inline BOOL operator == ( const DT_DateTime &dt ) const;
	inline BOOL operator >= ( const DT_DateTime &dt ) const;
	inline BOOL operator > ( const DT_DateTime &dt ) const;
	inline operator DATE (void) const;
};

inline DTC_DateTime::DTC_DateTime (void)
{
}

inline DTC_DateTime::DTC_DateTime ( const DT_DateTime &dt )
{	SetTo ( dt );
}

inline DTC_DateTime::DTC_DateTime ( const DT_Date &_date )
{	SetTo ( _date );
}

inline DTC_DateTime::DTC_DateTime ( const DT_Time &_time )
{	SetTo ( _time );
}

inline DTC_DateTime::DTC_DateTime ( DT_Days days, DT_MS ms )
{	dt_days_to_date ( days, &date );
	dt_ms_to_time ( ms, &time );
}

inline DTC_DateTime::DTC_DateTime ( DATE _date )
{	SetTo ( _date );
}

inline DTC_DateTime::~DTC_DateTime (void)
{
}

inline void DTC_DateTime::GetLocal (void)
{	dt_GetLocal ( this );
}

inline void DTC_DateTime::SetLocal (void)
{	dt_SetLocal ( this );
}

inline void DTC_DateTime::GetUTC (void)
{	dt_GetUTC ( this );
}

inline void DTC_DateTime::SetUTC (void)
{	dt_GetUTC ( this );
}

inline void DTC_DateTime::SetTo ( const DT_DateTime &dt )
{	*(DT_DateTime *)this = dt;
}

inline void DTC_DateTime::SetTo ( const DT_Date &_date )
{	date = _date;
	time.hour = time.minute = time.second = time.millisecond = 0;
}

inline void DTC_DateTime::SetTo ( const DT_Time &_time )
{	date.year = date.month = date.day = 0;
	time = _time;
}

inline void DTC_DateTime::SetTo ( DATE _date )
{	dt_from_DATE ( this, _date );
}

inline DT_DayOfWeekEnum DTC_DateTime::DayOfWeek (void) const
{	return dt_day_of_week ( date.year, date.month, date.day );
}

inline void DTC_DateTime::Adjust (void)
{	dt_adjust ( this );
}

inline void DTC_DateTime::Add ( const DT_Span &span )
{	dt_add ( this, &span );
}

inline void DTC_DateTime::Sub ( const DT_Span &span )
{	dt_sub ( this, &span );
}

inline BOOL DTC_DateTime::CompareTo ( const DT_DateTime &dt ) const
{	return dt_compare ( this, &dt );
}

inline DT_Days DTC_DateTime::GetDays (void) const
{	return dt_days_elapse_date ( date.year, date.month, date.day );
}

inline DT_MS DTC_DateTime::GetMS (void) const
{	return dt_ms_elapse_time ( time.hour, time.minute, time.second, time.millisecond );
}

inline DATE DTC_DateTime::GetDATE (void) const
{	return dt_to_DATE ( this );
}

inline DT_DateTime &DTC_DateTime::operator = ( const DT_DateTime &dt )
{	SetTo ( dt );
	return *this;
}

inline DT_DateTime &DTC_DateTime::operator = ( const DT_Date &_date )
{	SetTo ( _date );
	return *this;
}

inline DT_DateTime &DTC_DateTime::operator = ( const DT_Time &_time )
{	SetTo ( _time );
	return *this;
}

inline DT_DateTime &DTC_DateTime::operator = ( DATE _date )
{	SetTo ( _date );
	return *this;
}

inline void DTC_DateTime::operator += ( const DT_Span &span )
{	Add ( span );
}

inline void DTC_DateTime::operator -= ( const DT_Span &span )
{	Sub ( span );
}

inline BOOL DTC_DateTime::operator < ( const DT_DateTime &dt ) const
{	return CompareTo ( dt ) < 0;
}

inline BOOL DTC_DateTime::operator <= ( const DT_DateTime &dt ) const
{	return CompareTo ( dt ) <= 0;
}

inline BOOL DTC_DateTime::operator == ( const DT_DateTime &dt ) const
{	return CompareTo ( dt ) == 0;
}

inline BOOL DTC_DateTime::operator >= ( const DT_DateTime &dt ) const
{	return CompareTo ( dt ) >= 0;
}

inline BOOL DTC_DateTime::operator > ( const DT_DateTime &dt ) const
{	return CompareTo ( dt ) > 0;
}

inline DTC_DateTime::operator DATE (void) const
{	return GetDATE ();
}

/*****************************************************************************/

class DTC_Date : public DT_DateTag
{
public:
	inline DTC_Date (void);
	inline DTC_Date ( const DT_Date &date );
	inline DTC_Date ( DT_Days days );
	inline ~DTC_Date (void);
public:
	inline void SetTo ( const DT_Date &date );
	inline void SetTo ( DT_Days days );

	inline DT_DayOfWeekEnum DayOfWeek (void) const;

	inline BOOL CompareTo ( const DT_Date &date ) const;

	inline DT_Days GetDays (void) const;

	inline DT_Date &operator = ( const DT_Date &date );
	inline DT_Date &operator = ( DT_Days days );
	inline BOOL operator < ( const DT_Date &date ) const;
	inline BOOL operator <= ( const DT_Date &date ) const;
	inline BOOL operator == ( const DT_Date &date ) const;
	inline BOOL operator >= ( const DT_Date &date ) const;
	inline BOOL operator > ( const DT_Date &date ) const;
	inline operator DT_Days (void) const;
};

inline DTC_Date::DTC_Date (void)
{
}

inline DTC_Date::DTC_Date ( const DT_Date &date )
{	SetTo ( date );
}

inline DTC_Date::DTC_Date ( DT_Days days )
{	SetTo ( days );
}

inline DTC_Date::~DTC_Date (void)
{
}

inline void DTC_Date::SetTo ( const DT_Date &date )
{	*(DT_Date *)this = date;
}

inline void DTC_Date::SetTo ( DT_Days days )
{	dt_days_to_date ( days, this );
}

inline DT_DayOfWeekEnum DTC_Date::DayOfWeek (void) const
{	return dt_day_of_week ( year, month, day );
}

inline BOOL DTC_Date::CompareTo ( const DT_Date &date ) const
{	return dt_date_compare ( this, &date );
}

inline DT_Days DTC_Date::GetDays (void) const
{	return dt_days_elapse_date ( year, month, day );
}

inline DT_Date &DTC_Date::operator = ( const DT_Date &date )
{	SetTo ( date );
	return *this;
}

inline DT_Date &DTC_Date::operator = ( DT_Days days )
{	SetTo ( days );
	return *this;
}

inline BOOL DTC_Date::operator < ( const DT_Date &date ) const
{	return CompareTo ( date ) < 0;
}

inline BOOL DTC_Date::operator <= ( const DT_Date &date ) const
{	return CompareTo ( date ) <= 0;
}

inline BOOL DTC_Date::operator == ( const DT_Date &date ) const
{	return CompareTo ( date ) == 0;
}

inline BOOL DTC_Date::operator >= ( const DT_Date &date ) const
{	return CompareTo ( date ) >= 0;
}

inline BOOL DTC_Date::operator > ( const DT_Date &date ) const
{	return CompareTo ( date ) > 0;
}

inline DTC_Date::operator DT_Days (void) const
{	return GetDays ();
}

/*****************************************************************************/

class DTC_Time : public DT_TimeTag
{
public:
	inline DTC_Time (void);
	inline DTC_Time ( const DT_Time &time );
	inline DTC_Time ( DT_MS ms );
	inline ~DTC_Time (void);
public:
	inline void SetTo ( const DT_Time &time );
	inline void SetTo ( DT_MS ms );

	inline BOOL CompareTo ( const DT_Time &time ) const;

	inline DT_MS GetMS (void) const;

	inline DT_Time &operator = ( const DT_Time &time );
	inline DT_Time &operator = ( DT_MS ms );
	inline BOOL operator < ( const DT_Time &time ) const;
	inline BOOL operator <= ( const DT_Time &time ) const;
	inline BOOL operator == ( const DT_Time &time ) const;
	inline BOOL operator >= ( const DT_Time &time ) const;
	inline BOOL operator > ( const DT_Time &time ) const;
	inline operator DT_MS (void) const;
};

inline DTC_Time::DTC_Time (void)
{
}

inline DTC_Time::DTC_Time ( const DT_Time &time )
{	SetTo ( time );
}

inline DTC_Time::DTC_Time ( DT_MS ms )
{	SetTo ( ms );
}

inline DTC_Time::~DTC_Time (void)
{
}

inline void DTC_Time::SetTo ( const DT_Time &time )
{	*(DT_Time *)this = time;
}

inline void DTC_Time::SetTo ( DT_MS ms )
{	dt_ms_to_time ( ms, this );
}

inline BOOL DTC_Time::CompareTo ( const DT_Time &time ) const
{	return dt_time_compare ( this, &time );
}

inline DT_MS DTC_Time::GetMS (void) const
{	return dt_ms_elapse_time ( hour, minute, second, millisecond );
}

inline DT_Time &DTC_Time::operator = ( const DT_Time &time )
{	SetTo ( time );
	return *this;
}

inline DT_Time &DTC_Time::operator = ( DT_MS ms )
{	SetTo ( ms );
	return *this;
}

inline BOOL DTC_Time::operator < ( const DT_Time &time ) const
{	return CompareTo ( time ) < 0;
}

inline BOOL DTC_Time::operator <= ( const DT_Time &time ) const
{	return CompareTo ( time ) <= 0;
}

inline BOOL DTC_Time::operator == ( const DT_Time &time ) const
{	return CompareTo ( time ) == 0;
}

inline BOOL DTC_Time::operator >= ( const DT_Time &time ) const
{	return CompareTo ( time ) >= 0;
}

inline BOOL DTC_Time::operator > ( const DT_Time &time ) const
{	return CompareTo ( time ) > 0;
}

inline DTC_Time::operator DT_MS (void) const
{	return GetMS ();
}

/*****************************************************************************/

inline DT_Days operator - ( const DTC_Date &to, const DTC_Date &from )
{	return dt_days_diff ( &to, &from );
}

inline DT_MS operator - ( const DTC_Time &to, const DTC_Time &from )
{	return dt_ms_diff ( &to, &from );
}

#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女爱视频在线| 91精品国产高清一区二区三区蜜臀| 久久亚洲精品小早川怜子| 麻豆91精品91久久久的内涵| 日韩欧美色电影| 国产剧情av麻豆香蕉精品| 欧美国产日韩在线观看| 99re66热这里只有精品3直播| 亚洲裸体xxx| 91精品久久久久久久久99蜜臂| 久久99精品视频| 国产精品久久99| 欧美日韩精品电影| 国产一区二区在线免费观看| 国产精品久久777777| 欧美日韩电影一区| 激情综合色综合久久| 国产精品天干天干在观线| 久久亚区不卡日本| 99精品视频在线观看免费| 午夜欧美大尺度福利影院在线看| 精品国产亚洲一区二区三区在线观看 | 九九在线精品视频| 日本一区二区三区电影| 欧美私模裸体表演在线观看| 国内精品久久久久影院一蜜桃| 中文字幕在线不卡视频| 欧美久久久久久蜜桃| 国产91精品一区二区麻豆网站| 亚洲综合色噜噜狠狠| 亚洲精品一区二区三区影院| 色又黄又爽网站www久久| 久久精品国产亚洲高清剧情介绍 | 国产精品美女久久久久久久| 欧美日韩免费一区二区三区| 国产精品乡下勾搭老头1| 性久久久久久久久久久久| 国产精品理伦片| 日韩视频一区在线观看| 色婷婷亚洲精品| 高清不卡一二三区| 日本亚洲最大的色成网站www| 中文字幕免费观看一区| 精品国产青草久久久久福利| 欧美自拍丝袜亚洲| aaa欧美大片| 激情偷乱视频一区二区三区| 无码av免费一区二区三区试看 | 9191成人精品久久| 一本大道av一区二区在线播放| 国产一区二区三区久久悠悠色av | 秋霞影院一区二区| 亚洲精品国产无套在线观| 久久久国产精华| 欧美大片在线观看| 欧美精品黑人性xxxx| 欧洲色大大久久| 色综合一区二区| 成人深夜视频在线观看| 国内外成人在线| 久久精品国产亚洲a| 日产国产高清一区二区三区| 亚洲国产精品久久久久婷婷884| 亚洲日本电影在线| 国产精品三级在线观看| 国产日韩欧美精品一区| 欧美精品一区男女天堂| 欧美成人乱码一区二区三区| 欧美日韩国产a| 欧美久久久久免费| 91精品国产高清一区二区三区蜜臀| 欧美日韩不卡一区| 在线播放91灌醉迷j高跟美女| 欧美日韩卡一卡二| 制服.丝袜.亚洲.中文.综合| 欧美欧美午夜aⅴ在线观看| 欧美日韩免费高清一区色橹橹 | 婷婷丁香激情综合| 水蜜桃久久夜色精品一区的特点 | 国产91精品在线观看| 粉嫩一区二区三区性色av| 国产精品资源在线观看| 风间由美中文字幕在线看视频国产欧美 | 中文字幕+乱码+中文字幕一区| 久久久久久久久久久99999| 久久免费视频色| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美精品一区二区三区很污很色的 | 日韩av一区二区三区| 美国十次综合导航| 国产成人综合在线观看| 成人激情图片网| 色天天综合久久久久综合片| 欧美日韩在线播放三区四区| 91精品久久久久久久91蜜桃| 欧美精品一区二区三区蜜桃 | 国产精品久久久久久久浪潮网站| 亚洲日韩欧美一区二区在线| 亚洲在线成人精品| 日韩电影免费一区| 国产精品综合二区| jizzjizzjizz欧美| 在线播放91灌醉迷j高跟美女| 日韩一区国产二区欧美三区| 久久精品人人做人人综合| 自拍偷拍国产亚洲| 免费观看久久久4p| 国产成人亚洲综合色影视| 一道本成人在线| 日韩欧美一级在线播放| 国产精品三级久久久久三级| 亚洲国产精品麻豆| 国产一区二区影院| 欧美伊人久久久久久久久影院 | 欧美一区二区成人| 亚洲国产成人一区二区三区| 亚洲国产日韩在线一区模特| 国内成人免费视频| 在线观看91视频| 久久久高清一区二区三区| 香蕉成人啪国产精品视频综合网| 国产一区二区在线影院| 欧美三级日韩三级| 日本一区二区在线不卡| 日本不卡一二三区黄网| 色综合久久中文字幕综合网| 久久精品一二三| 日韩高清在线观看| 91日韩在线专区| 久久久精品中文字幕麻豆发布| 亚洲午夜精品17c| 成人白浆超碰人人人人| 26uuu久久综合| 午夜视频在线观看一区二区三区 | 亚洲成人免费在线观看| 成人动漫一区二区在线| 欧美精品一区二区三区高清aⅴ| 亚洲国产毛片aaaaa无费看| 成人免费毛片app| 久久综合久久99| 蜜桃精品在线观看| 欧美日本韩国一区| 亚洲永久精品大片| a4yy欧美一区二区三区| 欧美国产精品一区二区| 久久福利资源站| 日韩欧美一二三| 奇米精品一区二区三区在线观看| 在线免费观看视频一区| 亚洲精品国产a| 99国产精品久久久久久久久久| 久久精品男人天堂av| 久久精品国产成人一区二区三区| 91精品国产综合久久蜜臀 | 蜜桃久久av一区| 欧美精品久久一区| 亚洲成人综合视频| 欧美一a一片一级一片| 亚洲欧美日韩国产中文在线| 91免费视频观看| 亚洲日本va午夜在线电影| 99精品国产91久久久久久| 国产精品天天摸av网| 成+人+亚洲+综合天堂| 国产三级精品在线| 国产91精品精华液一区二区三区| 久久人人97超碰com| 国产精品一区二区在线观看网站| 久久蜜臀中文字幕| 国产精品系列在线观看| 日本一区二区久久| 不卡在线观看av| 亚洲精品美国一| 欧美日韩成人在线一区| 丝袜美腿亚洲一区二区图片| 日韩一区二区三区av| 激情五月婷婷综合网| 亚洲国产精品av| 色婷婷av一区二区三区gif| 午夜精品福利在线| 日韩三级精品电影久久久| 国产资源在线一区| 国产欧美日韩不卡免费| 99精品国产视频| 日韩精品亚洲一区二区三区免费| 欧美一二三四区在线| 国产精品影视天天线| 亚洲国产高清在线观看视频| 91啦中文在线观看| 日韩精品一二区| 欧美国产日韩在线观看| 色婷婷亚洲一区二区三区| 日本 国产 欧美色综合| 久久精品无码一区二区三区| 99re热这里只有精品视频| 首页综合国产亚洲丝袜| 精品不卡在线视频| 色婷婷久久久综合中文字幕| 免费人成精品欧美精品| 中文子幕无线码一区tr|