• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > python相对时间转换

python相对时间转换

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了python 相对导入,python 相对路径,python 相对目录,python中相对路径,python遍历相对路径等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:python 相对时间转换
描述:

a = "3月10天前"
b = "10天3小时前"
c = "7小时5分钟前"

根据当前系统时间转换为 0000-00-00 00:00 的格式,没有小时/分钟的分别算作00


解决方案1:

    >>> import datetime
    >>> now = datetime.datetime.now()
    >>> now
    datetime.datetime(2016, 5, 5, 23, 18, 38, 779000)
    >>> now + datetime.timedelta(days=-10, microsec sec
    datetime.datetime(2016, 4, 25, 23, 18, 58, 779050)

3个月这个具体时间间隔不能确定,其它都可以算。

解决方案2:

def gtime(atime):
    match = re.match(r'(\d+)(\D+)(\d+)(\D+)',atime, re.M|re.I)
    match2 = re.match(r'(\d+)(\D+)',atime, re.M|re.I)
    days = 0
    secs = 0
    if match:
        d1 = int(match.group(1))
        d2 = int(match.group(3))
        t1 = match.group(2)
        t2 = match.group(4)

        if t1 == u"月":
            days += d1 * 30
        elif t1 == u"天":
            days += d1
        elif t1 == u"小时":
            secs += d1 * 3600
        elif t1 == u"分":
            secs += d1 * 60

        if t2 == u"天":
            days += d2
        elif t2 == u"小时":
            secs += d2 * 3600
        elif t2 == u"分钟":
            secs += d2 * 60
        elif t2 == u"秒":
            secs += d2
    elif match2:
        d1 = int(match2.group(1))
        t1 = match2.group(2)
        if t1 == u"月":
            days += d1 * 30
        elif t1 == u"天":
            days += d1
        elif t1 == u"小时":
            secs += d1 * 3600
        elif t1 == u"分":
            secs += d1 * 60
        elif t1 == u"秒":
            secs += d1
    time = now + datetime.timedelta(days=-days, sec
    return time

时间越远,准确度越低,反正也只是粗略时间,月取30天就行了

换算没有PHP strtotime()那么方便,可以直接用年、月等任何时间单位进行计算,不知道python有没有提供类似功能的模块


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • python相对C++有什么优势?
  • python相对时间转换

相关文章

  • 2017-06-07 (laravel)如何理解servicelocator和dependenceinject
  • 2017-06-07 (python)windows下Islibxml2installed?如何解决
  • 2017-06-07 求助正则密码验证
  • 2017-06-07 外包一个页面,顺便推荐这个网络收藏夹--偶得
  • 2017-06-07 (python)windows下,能否直接指定编码为utf8去BOM呢?
  • 2017-06-07 C读写文件问题
  • 2017-06-07 python35启动报错api-ms-win-crt-runtime丢失
  • 2017-06-07 nginx配置mac上配置nginx-gridfs报错
  • 2017-06-07 白色透明png水印设置后不显示,其他颜色没问题
  • 2017-06-07 qshell卸载脚本中无法运行

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • (python)目前百度云盘个人用户还有能用的API吗
    • 关于pythonxmlrpc链接问题的求助
    • laravel怎么改造分页类,给他加上首页和尾页
    • 正则表达式求个简单的正则表达式
    • 紧急求助:C++类的友元函数能够引用类的公有成员函数吗?如何声明一个指向类的成员函数的指针?
    • laravellaravel模板页面变量未定义?
    • Pythonpip版本问题
    • 分享:JBossWeb和Tomcat的区别
    • 正则表达式\\w[\\w,]是什么意思?
    • 一个1万ip的图片站七牛存储cdn每个月费用估算

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有