鱼C论坛

 找回密码
 立即注册
查看: 1845|回复: 6

从日期中读取数字

[复制链接]
发表于 2016-7-24 17:45:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问题:
给一个日期读取年月日
但a=1988年4月15日和a=1988年11月5日
月和日的位数是不定的 如何读取
年的话 a[0:4]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-24 17:54:04 | 显示全部楼层
我不知道是不是我没看懂这个问题,我感觉创建一个空列表可以往里面加任意长度的字符吧。python和c最大的不同不就是在这吗?如果是我没看懂问题,就麻烦楼主吧问题描述的再详细点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-24 17:59:34 | 显示全部楼层
year=a[0:4]
month=a[5] 但月可能是1位或者2位 不知道如何截取
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-24 18:28:32 | 显示全部楼层
本帖最后由 无符号整形 于 2016-7-24 18:33 编辑
  1. a = ['1','9','8','8','年','4','月','1','5','日']
  2. buf = ''
  3. for each in a:
  4.     buf+=each
  5. each = buf   
  6. a1 = each.find("年")
  7. near = a[0:a1]
  8. b = each.find("月",a1)
  9. mouth = a[a1+1:b]
  10. c = each.find("日")
  11. day = a[b+1:c]
  12. print(near,mouth,day)
复制代码

楼主试试
效果:
asdff.JPG
同理,1988年11月15日:
  1. a = ['1','9','8','8','年','1','1','月','1','5','日']
  2. buf = ''
  3. for each in a:
  4.     buf+=each
  5. each = buf   
  6. a1 = each.find("年")
  7. near = a[0:a1]
  8. b = each.find("月",a1)
  9. mouth = a[a1+1:b]
  10. c = each.find("日")
  11. day = a[b+1:c]
  12. print(near,mouth,day)
复制代码

效果
asdasd.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-24 19:33:16 | 显示全部楼层
  1. sep='-'
  2. trntab=str.maketrans('年月日',sep*3)
  3. a='1988年4月15日'
  4. n=a.translate(trntab).strip(sep)
  5. date=n.split(sep)
  6. print(date)
复制代码

maketrans
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-24 19:41:39 | 显示全部楼层
本帖最后由 SixPy 于 2016-7-24 19:44 编辑
  1. sep='-'
  2. a='1988年4月15日'
  3. date=a.translate({ord('年'):sep,
  4.                   ord('月'):sep,
  5.                   ord('日'):''})\
  6.                   .split(sep)
  7. print(date)
复制代码

translate
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-24 21:33:35 | 显示全部楼层
我来个笨办法的。
  1. >>> a='1988年4月15日'
  2. >>> temp = a.split('年')
  3. >>> year = temp[0]
  4. >>> temp = temp[1].split('月')
  5. >>> month = temp[0]
  6. >>> day = temp[1].strip('日')
  7. >>> print(year, month, day)
  8. 1988 4 15
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 01:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表