色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python時(shí)間操作都在這里了!

馬哥Linux運(yùn)維 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-05-03 16:37 ? 次閱讀

python中處理時(shí)間的模塊有三個(gè),datetime, time,calendar,融匯貫通三個(gè)模塊,才能隨心所欲地用python處理時(shí)間。本文就是為此而寫(xiě),文章著重點(diǎn)在于梳理出三個(gè)模塊的設(shè)計(jì)脈絡(luò),便于大家記憶里面的api。在需要的時(shí)候能夠去查找相應(yīng)的方法。但由于calendar模塊使用不多,限于篇幅,本文沒(méi)有涉及。

1.概述

datetime模塊主要是用來(lái)表示日期的,就是我們常說(shuō)的年月日時(shí)分秒,calendar模塊主要是用來(lái)表示年月日,是星期幾之類的信息,time模塊主要側(cè)重點(diǎn)在時(shí)分秒,粗略從功能來(lái)看,我們可以認(rèn)為三者是一個(gè)互補(bǔ)的關(guān)系,各自專注一塊。方便用戶依據(jù)不同的使用目的選用趁手的模塊。

2.從time模塊說(shuō)起

為了學(xué)習(xí)time模塊,我們需要先知道幾個(gè)與時(shí)間相關(guān)的概念:

(1)epoch

假設(shè)我們要將時(shí)間表示成毫秒數(shù),比方說(shuō)1000000毫秒,那有一個(gè)問(wèn)題必須解決,這個(gè)1000000毫秒的起點(diǎn)是什么時(shí)間,也就是我們的時(shí)間基準(zhǔn)點(diǎn)是什么時(shí)間?好比我說(shuō)你身高1.8米,那這個(gè)身高是指相對(duì)于你站立的地面說(shuō)的。這個(gè)時(shí)間基準(zhǔn)點(diǎn)就是epoch,在Unix系統(tǒng)中,這個(gè)基準(zhǔn)點(diǎn)就是1970年1月1日0點(diǎn)整那個(gè)時(shí)間點(diǎn)。

(2)GMT, UTC

上面我們說(shuō)epoch表示1970年的起始點(diǎn),那這個(gè)1970年又是相對(duì)于哪個(gè)基準(zhǔn)時(shí)間呢?一般來(lái)說(shuō),就是相對(duì)于格林尼治時(shí)間,也叫做GMT(Greenwich Mean Time)時(shí)間,還叫做UTC(Coordinated Universal Time),為啥一個(gè)時(shí)間基準(zhǔn)有兩個(gè)名字?歷史上,先有的GMT,后有的UTC.

UTC是我們現(xiàn)在用的時(shí)間標(biāo)準(zhǔn),GMT是老的時(shí)間計(jì)量標(biāo)準(zhǔn)。UTC是根據(jù)原子鐘來(lái)計(jì)算時(shí)間,而GMT是根據(jù)地球的自轉(zhuǎn)和公轉(zhuǎn)來(lái)計(jì)算時(shí)間。

所以,可以認(rèn)為UTC是真正的基準(zhǔn)時(shí)間,GMT相對(duì)UTC的偏差為0。

在實(shí)際中,我們的計(jì)算機(jī)中有一個(gè)硬件模塊RCT,里面會(huì)實(shí)時(shí)記錄UTC 時(shí)間,該模塊有單獨(dú)的電池供電,即使關(guān)機(jī)也不影響。

有了epoch這個(gè)時(shí)間基準(zhǔn),又有了UTC這個(gè)基準(zhǔn)的基準(zhǔn),我們就可以精確地表示一個(gè)時(shí)間了。

(3)DST, tzone

盡管我們已經(jīng)可以精確地表示一個(gè)時(shí)間,很多情況下,我們還是要根據(jù)地區(qū)實(shí)際情況對(duì)時(shí)間進(jìn)行一個(gè)調(diào)整,最常見(jiàn)的就是時(shí)區(qū),tzone,相信大家都比較熟悉。

此時(shí),當(dāng)我們說(shuō)5點(diǎn)5分這個(gè)時(shí)間時(shí),還需加上是哪個(gè)時(shí)區(qū)的5點(diǎn)5分才能精確說(shuō)明一個(gè)時(shí)間。

另外一個(gè)對(duì)時(shí)間做出調(diào)整的就是DST.

DST 全稱是Daylight Saving Time,是說(shuō),為了充分利用日光,減少用電,人為地對(duì)時(shí)間做出一個(gè)調(diào)整,這取決于不同國(guó)家和地區(qū)的政策法規(guī)。比如說(shuō),假設(shè)你冬天7點(diǎn)天亮起床,但夏天6點(diǎn)天亮,那么在夏天到來(lái)時(shí)人為將時(shí)間加1個(gè)小時(shí),這樣就可以讓你還是覺(jué)得7點(diǎn)起床,但實(shí)際上是提前一個(gè)小時(shí)了。

那么,好奇的我們,一定要問(wèn)一問(wèn),python是如何知道tzone和DST這兩個(gè)的值呢?答案是通過(guò)環(huán)境變量。

這里我們只以linux為例來(lái)說(shuō)明一下。

在linux中有TZ環(huán)境變量,其值類似這樣:

CST+08EDT,M4.1.0,M10.5.0,這個(gè)字符串可以做如下解讀,用空格分開(kāi)他們,分成三部分

CST+08 EDT, M4.1.0,M10.5.0

第一部分中的CST表示時(shí)區(qū)的名字,即China Standard Time,也就是我們說(shuō)的北京時(shí)間,+8表示北京時(shí)間加上8小時(shí)就是UTC時(shí)間

第二部分EDT表示DST的名字,我們說(shuō)DST是因各個(gè)國(guó)家地區(qū)的政策法規(guī)不同而不同的,EDT后面也可以像CST后面一樣加一個(gè)時(shí)間調(diào)整值,但由于我們國(guó)內(nèi)只在86年到92年實(shí)行過(guò)一段時(shí)間DST,現(xiàn)在已經(jīng)廢止,所以后面不用加調(diào)整時(shí)間。

第三部分表示的是實(shí)行DST的開(kāi)始和結(jié)束時(shí)間,我們就不細(xì)解讀了。

(4)時(shí)間的表示,獲取,轉(zhuǎn)換

time模塊中獲取時(shí)間的基本方法是

t = time.time()

它返回的是從epoch到現(xiàn)在的秒數(shù)(用浮點(diǎn)數(shù)表示),用的是UTC時(shí)間。

我們自然而然地想把這個(gè)秒數(shù)轉(zhuǎn)為年月日時(shí)分秒的形式,而這種轉(zhuǎn)換又分兩種,一種還是用UTC時(shí)間,一種用我們所在時(shí)區(qū)進(jìn)行調(diào)整后的時(shí)間。

time模塊給我們提供了兩個(gè)方法,

time. gmtime(t)

time.localtime(t)

二者都返回一個(gè)類struct_time的實(shí)例,該實(shí)例具有如下屬性:

相比用秒數(shù)表示的時(shí)間,這樣的表示更適合我們理解。

這兩個(gè)函數(shù)如果調(diào)用時(shí)不傳參數(shù),它們內(nèi)部會(huì)調(diào)用time.time(),并用返回的秒數(shù)做轉(zhuǎn)換。

相反的,python同樣提供了將這兩種struct_time轉(zhuǎn)為秒數(shù)的方法。

calendar.timegm()方法用來(lái)把UTC的struct_time(gmtime的返回對(duì)象)轉(zhuǎn)為從epoch開(kāi)始的秒數(shù)

time.mktime()用來(lái)把用時(shí)區(qū)調(diào)整過(guò)的struct_time(即localtime的返回對(duì)象)對(duì)象轉(zhuǎn)為從epoch開(kāi)始的秒數(shù)

也就是說(shuō)mktime方法會(huì)先找到系統(tǒng)中的時(shí)區(qū)和DST信息,并利用這個(gè)信息對(duì)struct_time進(jìn)行調(diào)整后再換算成秒數(shù)。

另一種常見(jiàn)的需求是在時(shí)間和表示時(shí)間的字符串之間進(jìn)行轉(zhuǎn)換。

time模塊中的strftime和strptime就是做這個(gè)用的。

看名字大家就應(yīng)該知道它們的含義,

strftime 即 string format time,用來(lái)將時(shí)間格式化成字符串

strptime 即string parse time,用來(lái)將字符串解析成時(shí)間。

需要注意的是,這里的時(shí)間都是struct_time對(duì)象。

關(guān)于怎么格式化時(shí)間,是很簡(jiǎn)單的知識(shí),這里就借用官網(wǎng)文檔的內(nèi)容了。

除了這兩個(gè)函數(shù),time模塊中還提供了兩個(gè)簡(jiǎn)便方法,來(lái)幫助將時(shí)間轉(zhuǎn)為字符串

asctime用來(lái)將一個(gè)struct_time對(duì)象轉(zhuǎn)為標(biāo)準(zhǔn)24字符的字符串,如下所示:

Sun Jun 20 23:21:05 1993

ctime方法與asctime作用相同,只不過(guò)它接收的是秒數(shù),在內(nèi)部,會(huì)先把秒數(shù)通過(guò)localtime轉(zhuǎn)為struct_time,再往后就與asctime一樣了。

以上就是time模塊的核心內(nèi)容,我嘗試用一個(gè)口訣幫助記憶這些API

time點(diǎn)time得秒數(shù)

傳入gm, local time得struct_time

要想變回原秒數(shù)

你得傳回calendar.timegm和time. mktime

string f和string p

格式化時(shí)間靠哥倆

你要還是嫌費(fèi)事

asctime ,ctime來(lái)助力

專門(mén)幫你轉(zhuǎn)字符串

前者接收struct_time

后者專門(mén)處理秒數(shù)

分工合作不費(fèi)力

學(xué)好time模塊基本功

做個(gè)時(shí)間的明白人!

下面,我們要開(kāi)始學(xué)習(xí)datetime模塊。

3.datetime模塊

(1)概覽

time模塊解決了時(shí)間的獲取和表示,datetime模塊則進(jìn)一步解決了快速獲取并操作時(shí)間中的年月日時(shí)分秒信息的能力。

簡(jiǎn)單說(shuō),該模塊核心的類就三個(gè),date類表示年月日,time類表示時(shí)分秒毫秒,這里不要和time模塊搞混淆了。一句順口溜可以幫助記清這個(gè)情況:

time里面沒(méi)time

藏在datetime里

編的是不是不咋地?嗯,我也這么覺(jué)得。

datetime類就是date和time的組合。

有一點(diǎn)需要提前說(shuō)明一下,time類和datetime類都有一個(gè)屬性,它的值是一個(gè)tzinfo對(duì)象,里面包含了該time或者datetime的時(shí)區(qū)信息,一般稱這個(gè)time或者datetime對(duì)象是aware的,它能夠準(zhǔn)確換算成自epoch開(kāi)始的秒數(shù)。

如果該屬性設(shè)置為None,那么,這時(shí)的time對(duì)象或者datetime對(duì)象就沒(méi)有時(shí)區(qū)信息,具體它表示的是local time還是utc time,需要我們自己在程序中去決定。

這里我們所說(shuō)的local time是指我們所在時(shí)區(qū)的時(shí)間, utc time指的就是國(guó)際標(biāo)準(zhǔn)時(shí)間,也就是格林尼治時(shí)間。下文同。

請(qǐng)記住一點(diǎn),date中是沒(méi)有時(shí)區(qū)信息的。

(2)從創(chuàng)建datetime開(kāi)始

創(chuàng)建datetime對(duì)象,我最常用的辦法如下

dt=datetime.datetime.fromtimestamp(time.time())

以上,time.time()獲得自epoch開(kāi)始的秒數(shù),fromtimestamp方法會(huì)將這個(gè)秒數(shù)轉(zhuǎn)變成一個(gè)datetime對(duì)象。

這里有一個(gè)問(wèn)題,這個(gè)datetime對(duì)象究竟是utc的還是local的?

答案是local的,這是該方法的默認(rèn)行為。如果你在fromtimestamp方法中傳入一個(gè)表示時(shí)區(qū)的參數(shù),即tzinfo對(duì)象,就會(huì)按傳入的時(shí)區(qū)信息進(jìn)行轉(zhuǎn)換。

獲得表示當(dāng)前l(fā)ocal時(shí)間的datetime對(duì)象,還有兩個(gè)簡(jiǎn)便方法

datetime. datetime. now()

datetime. datetime. today()

以上我們得到的都是local的datetime對(duì)象,如何獲得utc的datetime對(duì)象呢?有兩個(gè)辦法

datetime. datetime. utcfromtimestamp()

datetime. datetime. utcnow()

我們還可以從字符串中創(chuàng)建datetime對(duì)象,

方法為datetime.striptime(date_string, format)

其內(nèi)部還是先調(diào)用的time模塊中的striptime方法,獲取struct_time對(duì)象,再利用struct_time對(duì)象中的年月日時(shí)分秒信息構(gòu)建datetime對(duì)象。

同樣的,datetime類也提供了strftime(),asctime(),ctime()方法,相信不說(shuō)你也知道是做什么的了。

datetime類還提供了一個(gè)combine方法,用來(lái)將一個(gè)date對(duì)象和一個(gè)time對(duì)象組合成一個(gè)datetime對(duì)象。

需要注意的是,datetime模塊中出現(xiàn)timestamp時(shí),一般可將其理解成time.time()返回的秒數(shù)

(3)date和time的創(chuàng)建

date對(duì)象的創(chuàng)建和datetime非常相似,

datetime. date. today()

datetime.date.fromtimestamp()都可以創(chuàng)建一個(gè)date對(duì)象。

當(dāng)然,你也可以通過(guò)構(gòu)造方法傳入年月日來(lái)創(chuàng)建date對(duì)象。

相比之下,time對(duì)象的創(chuàng)建就很有限,只能通過(guò)

datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])

這個(gè)方法創(chuàng)建。

(4)以上三個(gè)對(duì)象的操作和timedelta類

在實(shí)際使用中,我們有一大塊需求就是對(duì)日期進(jìn)行比較和加減運(yùn)算。得益于python的操作符重載能力,python中可以方便地對(duì)

date對(duì)象之間,或者datetime對(duì)象之間進(jìn)行小于(<)比較和減法(-)操作。

注意,這里僅限于同類對(duì)象之間,而且,不包括time對(duì)象之間。

兩個(gè)date對(duì)象作減,或者兩個(gè)datetime對(duì)象之間作減,差值用一個(gè)timedelta對(duì)象表示。

同理,一個(gè)date 對(duì)象或者datetime對(duì)象也可以加或者減一個(gè)timedelta對(duì)象。

一個(gè)timedelta對(duì)象含有三個(gè)屬性:days,seconds, microseconds,days屬性可以取負(fù)值,另外兩個(gè)屬性都只能是正值。

你可以用total_seconds()方法獲得一個(gè)timedelta對(duì)象的秒數(shù)表示。

兩個(gè)timedelta對(duì)象之間可加,可減,但不能做大小比較,因?yàn)檫@樣沒(méi)什么意義。

一個(gè)timedelta對(duì)象還可以與整數(shù)相乘,或通過(guò)//操作與一個(gè)整數(shù)相除。

還可以取反,或者用abs函數(shù)獲得絕對(duì)值

4.無(wú)總結(jié),不進(jìn)步

本文的目的不在于詳細(xì)說(shuō)明python處理時(shí)間日期的api如何使用,而是想通過(guò)一個(gè)概覽的形式,讓大家抓住time和datetime模塊的設(shè)計(jì)結(jié)構(gòu),從而能夠清楚這些模塊提供了哪些能力,在需要的時(shí)候能夠想起來(lái)去用,至于查詳細(xì)的api,應(yīng)該是可以輕松解決的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2695

    瀏覽量

    47433
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84628

原文標(biāo)題:Python中的時(shí)間處理大總結(jié)

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電路開(kāi)發(fā)設(shè)計(jì)使用的軟件都在這里!

    `電路開(kāi)發(fā)設(shè)計(jì)使用的軟件都在這里!電路開(kāi)發(fā)設(shè)計(jì)需要學(xué)習(xí)的軟件有哪些?電路設(shè)計(jì)軟件指的是電路圖繪制、優(yōu)化、測(cè)試、仿真類軟件。在國(guó)內(nèi),開(kāi)發(fā)使用做多的電路設(shè)計(jì)軟件如下:protel,powerpcb
    發(fā)表于 08-16 16:39

    ADI的最新干貨都在這里,請(qǐng)自取所需

    爆款資料推薦ADI《模擬對(duì)話》技術(shù)期刊,第1期至第50期都在這里https://ezchina.analog.com/thread/14417ADI系統(tǒng)方案精選合集(2016)https
    發(fā)表于 10-28 18:04

    你要的自供電都在這里

    `你要的自供電技術(shù)都在這里掃一掃吧[qq]1098104553[/qq]`
    發(fā)表于 12-08 17:52

    你想要的全景影像系統(tǒng)開(kāi)發(fā)資料,都在這里啦!

    你們想要的全景影像系統(tǒng)開(kāi)發(fā)資料,都在這里啦![hide][/hide]
    發(fā)表于 03-17 14:08

    關(guān)于電容的一些基礎(chǔ)知識(shí)都在這里

    關(guān)于電容的一些基礎(chǔ)知識(shí)都在這里
    發(fā)表于 04-23 07:12

    關(guān)于高速ADC的選擇與應(yīng)用 你想要的都在這里

    關(guān)于高速ADC的選擇與應(yīng)用你想要的都在這里
    發(fā)表于 05-25 06:57

    DAYU200資料需求集中討論貼,有需要什么資料都在這里提~

    DAYU200資料需求集中討論貼,有需要什么資料都在這里提~我們會(huì)統(tǒng)計(jì),并整理輸出給到大家~
    發(fā)表于 03-04 12:32

    iOS 10.3就要來(lái)了!新功能都在這里,你期待么?

    每次iOS系統(tǒng)更新前都會(huì)有一大推發(fā)燒友爆料新系統(tǒng)的特點(diǎn),在這里將 iOS 10.3可能出現(xiàn)的新功能進(jìn)行了匯總:
    發(fā)表于 02-06 14:04 ?2509次閱讀

    關(guān)于新能源汽車(chē)與自動(dòng)駕駛,你想知道的都在這里

    關(guān)于新能源汽車(chē)與自動(dòng)駕駛,你想知道的都在這里。
    發(fā)表于 08-02 09:57 ?2530次閱讀

    最詳細(xì)的電氣基礎(chǔ)知識(shí)都在這里,你確定要錯(cuò)過(guò)嗎?

    最詳細(xì)的電氣基礎(chǔ)知識(shí)都在這里。
    的頭像 發(fā)表于 03-28 16:03 ?2.8w次閱讀
    最詳細(xì)的電氣基礎(chǔ)知識(shí)<b class='flag-5'>都在這里</b>,你確定要錯(cuò)過(guò)嗎?

    聚游公社:在這里,你想要的我們都能給......

    真真感覺(jué)是撿到寶!獨(dú)樂(lè)樂(lè)不如眾樂(lè)樂(lè),我覺(jué)得有必要和大家推廣一下,讓大家也享受一下能躺在家里賺錢(qián)的快感!今天的主角:聚游公社!顧名思義,這是一個(gè)匯集了很多游戲的一站式體驗(yàn)社區(qū)!在這里,你能玩到你能想象
    發(fā)表于 12-20 17:58 ?371次閱讀

    詳解直線電機(jī),你要知道的都在這里資料下載

    電子發(fā)燒友網(wǎng)為你提供詳解直線電機(jī),你要知道的都在這里資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-07 08:41 ?18次下載
    詳解直線電機(jī),你要知道的<b class='flag-5'>都在這里</b>資料下載

    儲(chǔ)能連接器生產(chǎn)流程都在這里

    您對(duì)于儲(chǔ)能連接器的生產(chǎn)流程了解多少,下面我們一同來(lái)認(rèn)識(shí)一下儲(chǔ)能連接器生產(chǎn)流程?!皟?chǔ)能連接器生產(chǎn)流程都在這里”由仁昊連接器為您整理,采購(gòu)連接器,上仁昊。
    的頭像 發(fā)表于 01-06 14:02 ?1662次閱讀
    儲(chǔ)能連接器生產(chǎn)流程<b class='flag-5'>都在這里</b><b class='flag-5'>了</b>

    [HPM雜談]你想要了解的先楫hpm_sdk開(kāi)發(fā)都在這里系列 (二)

    一、概述在上一篇雜談文章《[HPM雜談]你想要了解的先楫hpm_sdk開(kāi)發(fā)都在這里系列(一)》,大概分析先楫通用單片機(jī)開(kāi)發(fā)與其他國(guó)產(chǎn)單片機(jī)的開(kāi)發(fā)差異,以及開(kāi)發(fā)優(yōu)劣勢(shì)。剛好在這個(gè)月底,先楫官方發(fā)布
    的頭像 發(fā)表于 10-12 08:18 ?1678次閱讀
    [HPM雜談]你想要了解的先楫hpm_sdk開(kāi)發(fā)<b class='flag-5'>都在這里</b>系列 (二)

    有關(guān)eFuse電子保險(xiǎn)絲,你應(yīng)該了解的技術(shù)干貨,都在這里!

    有關(guān)eFuse電子保險(xiǎn)絲,你應(yīng)該了解的技術(shù)干貨,都在這里
    的頭像 發(fā)表于 12-04 10:20 ?1625次閱讀
    有關(guān)eFuse電子保險(xiǎn)絲,你應(yīng)該了解的技術(shù)干貨,<b class='flag-5'>都在這里</b>!
    主站蜘蛛池模板: 国产超碰AV人人做人人爽| 韩日美无码精品无码| 久久无码AV亚洲精品色午夜麻豆 | 乳欲性高清在线| 重口味av| 韩国演艺圈qvod| 兽皇VIDEO另类HD| 99在线免费视频| 久久久久激情免费观看| 羞羞答答的免费视频在线观看| a级毛片高清免费视频| 久久视频这里只精品99热在线 | 色四房播播| 69日本人xxxx16—18| 湖南张丽大战黑人hd视频| 国产免费福利在线视频| 久久sese| 香蕉精品国产自在现线拍| 超碰人人澡人人胔| 男女作爱在线播放免费网页版观看 | 女配穿书病娇被强啪h| 亚洲三级视频在线观看| 国产精品欧美久久久久天天影视| 欧美肥胖女人bbwbbw视频| 中文字幕高清在线观看| 激情欧美日韩一区二区| 亚洲 国产 日韩 欧美 在线| 国产51麻豆二区精品AV视频| 人体内射精一区二区三区| caoporen超碰在线视频| 免费精品一区二区三区在线观看| 樱桃视频影院在线播放| 精品视频在线观看视频免费视频| 亚洲国产精品免费观看| 国产精品综合AV一区二区国产馆| 三级黄色在线观看| 成人无码精品1区2区3区免费看 | 夜夜穞狠狠穞| 精品人伦一区二区三区潘金莲 | 在线观看成人3d动漫入口| 国产精品999|