好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python非標準時間的轉換

python非標準時間的轉換

熱門標簽:西青語音電銷機器人哪家好 成都呼叫中心外呼系統哪家強 地圖標注與注銷 無錫智能外呼系統好用嗎 南昌地圖標注 宿州電話機器人哪家好 百應電話機器人總部 電梯新時達系統外呼顯示e 旅游廁所地圖標注怎么弄

可匹配結構:

今天~前天, 幾天前, 分鐘秒前等 | 2017-1-4 12:10 | 2017/1/4 12:10 | 2018年4月2日 12:12 | 2018年4月2日 | 2017-1-4 | 2017/1/4 | 1/4 |

# -*- coding:utf-8 -*-
from datetime import datetime, timedelta
import re
import time


def tz_offset(tz):
    res = (re.search(r'(?PF>[-+])(?PH>\d{2}):?(?PM>\d{2})', tz) or re.search('', '')).groupdict()
    offset = (1 if res.get('F', '+')=='+' else -1) * timedelta(
                        hours   = int(res.get('H', 0)),
                        minutes = int(res.get('M', 0)))
    return offset


def parse_date(data, fmt, tz):
    """
        時間匹配模塊,可轉化為固定格式
        返回時間字符串 0000-00-00 00:00:00
        可匹配結構 |今天~前天, 幾天前,分鐘秒前等 | 2017-1-4 12:10 | 2017/1/4 12:10 | 2018年4月2日 12:12
                        | 2018年4月2日 | 2017-1-4 | 2017/1/4 | 1/4 |
    """
    offset = tz_offset(tz)
    if fmt == 'auto':
        now = (datetime.utcnow() + timedelta(hours=8)).replace(microsecond=0) + offset
        now_1 = now - timedelta(days=1)
        now_2 = now - timedelta(days=2)

        # 幾/剛/今天/昨天/前天
        x = data.strip()
        x = x.replace(u'幾', ' 0 ')
        x = x.replace(u'剛[剛才]', now.strftime(' %Y-%m-%d %H:%M:%S '))
        x = x.replace(u'今天', now.strftime(' %Y-%m-%d '))
        x = x.replace(u'昨天', now_1.strftime(' %Y-%m-%d '))
        x = x.replace(u'前天', now_2.strftime(' %Y-%m-%d '))
        x = re.sub(r'[年月]', '/', x)
        x = re.sub(r'[日]', ' ', x)
        x = re.sub(r'\s{2,}', r' ', x)

        # XX前
        res = (re.search(r'(?PS>\d+)\s*秒鐘?前', x) \

               or re.search(r'(?PM>\d+)\s*分鐘前', x) \

               or re.search(r'(?PH>\d+)\s*小時前', x) \

               or re.search(r'(?Pd>\d+)\s*天前', x) \

               or re.search('', '')).groupdict()
        if res:
            dt = now - timedelta(
                days=int(res.get('d', 0)),
                hours=int(res.get('H', 0)),
                minutes=int(res.get('M', 0)),
                seconds=int(res.get('S', 0))
            )
        # 不是幾天前分鐘前的形式
        else:
            # XX-XX-XX XX:XX:XX
            res = (re.search(r'(?PY>\d+)[/-](?Pm>\d+)[/-](?Pd>\d+)(\s+(?PH>\d{1,2}):(?PM>\d{2})(:(?PS>\d{2}))?)?',
                             x) or re.search('', '')).groupdict()
            if res == dict():
                # 匹配沒有年份的時候,格式 XX-XX XX:XX:XX  月-日 時:分:秒 或 17年10月10日 時:分:秒
                res = (re.search(
                    r'(?Pm>\d{1,2})[/-](?Pd>\d+)(\s+(?PH>\d{2}):(?PM>\d{2})(:(?PS>\d{2}))?)?',
                    x) or re.search('', '')).groupdict()
            if res:
                Y = res.get('Y', now.year)
                Y = "20" + Y if len(str(Y)) == 2 else Y
                m = res.get('m', now.month)
                d = res.get('d', now.day)
                H = res.get('H', now.hour)
                M = res.get('M', now.minute)
                S = res.get('S', 0)
                dt = datetime(
                    year=int(Y) if Y != None and 1987 = int(Y) = now.year else now.year,
                    month=int(m) if m != None else now.month,
                    day=int(d) if d != None else now.day,
                    # 如果沒有時分秒,則被認定為00:00:00
                    hour=int(H) if H != None else 0,
                    minute=int(M) if M != None else 0,
                    second=int(S) if S != None else 0
                )
            else:
                # 1970-01-01 00:00:00
                # dt = datetime.utcfromtimestamp(0)+offset
                return ""
        # 時間可能超過當前時間,若超過則減去一年
        if int(time.mktime((dt - offset).timetuple())) > int(time.time()):
            # 時間超過當前時間,減去一年
            delta = timedelta(days=-365)
            real_time = (dt - offset) + delta
            real_time = real_time.strftime("%Y-%m-%d %H:%M:%S")
        else:
            real_time = (dt - offset).strftime("%Y-%m-%d %H:%M:%S")
        return real_time


if __name__ == '__main__':
    print(parse_date('2秒前', 'auto', ''))
    print(parse_date('2分鐘前', 'auto', ''))
    print(parse_date('2小時前', 'auto', ''))
    print(parse_date('昨天 00:30', 'auto', ''))
    print(parse_date('07-20', 'auto', ''))

到此這篇關于python非標準時間的轉換的文章就介紹到這了,更多相關python非標準時間內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • ROS系統將python包編譯為可執行文件的簡單步驟
  • Python中rapidjson參數校驗實現
  • Python中scrapy下載保存圖片的示例
  • Python動態規劃實現虛擬機部署的算法思想
  • python 多線程實現多任務的方法示例
  • python方差檢驗的含義及用法
  • Python函數實現學員管理系統
  • python調試模式無響應解決案例

標簽:渭南 辛集 許昌 七臺河 贛州 西安 濰坊 雅安

巨人網絡通訊聲明:本文標題《python非標準時間的轉換》,本文關鍵詞  python,非,標準時,間的,轉換,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python非標準時間的轉換》相關的同類信息!
  • 本頁收集關于python非標準時間的轉換的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91精品久久人妻一区二区夜夜夜| 无码欧美日韩精青草久久 | 国产人妻精品无码AV专区桔子 | 黄色污污视频| 玩弄我的三位美艳馊白盈视频| 国产成人精品无码免费看点牛影视 | 久久免费毛片| 免费国产一区二区三区| 韩漫免费网站成人漫画www| 国产专区路线| 久久高清毛片质量如何| 黑人妇女体内?精汇编| 污黄网站| 丝袜美腿美女被狂躁长视频,| 日本一级婬片情欲电车观看| 女人被男人免费播放网站| 伦理年轻漂亮的岳?9| 公交车忘穿内裤被挺进H漫画| 久久天天躁狠狠躁夜夜中文字幕| 色噜噜亚洲男人的天堂| 疯狂的椅子式是什么意思| 亲胸揉胸膜下刺激视频有哪些软件 | 麻豆精品秘?国产传媒电影网 | 飞机杯能锻炼持久能力么| 午夜电影最新电影| 极品姐夫| 一级**毛片| 好紧?好多水?快?| 色戒梁朝伟根部进入汤唯图片| 国产91极品身材白皙女友| 韩国女主播bj无删减观看| 正能量视频www正能量动漫下载| 太仓市| 亚洲成a人片7777网站| 51区无码视频在线播放| 激情aa视频试看免费| 少妇和大狼拘作爱A片| 韩日毛片| 八戒,八戒影视剧在线观看免费 | 大尺度电影| 久久99精品国产一区二区三区|