Jython Date解析

时间:2013-11-17 21:23:45

标签: date jython

是否可以使用Jython将“2013-12-29”转换为“201312”?

我试过了:

Object.strftime("%y%m") 
Date.valueOf(Object) 
datetime.datetime.strptime(Object,"%Y%m") 

结果TypeError: 'java.sql.Date' object is unsubscribe.

提前致谢

2 个答案:

答案 0 :(得分:1)

如果您使用datetime.date个对象:

import datetime

d = datetime.date(2013, 12, 29)
sd = d.strftime('%Y%m')
print(sd)

如果您已将字符串格式化为YYYY-MM-DD并且只希望它为YYYYMM,那么请使用字符串切片:

s1 = '2013-12-29'
s2 = s1[:4] + s1[5:7]
print(s2)

两者都适用于Python和Jython。

答案 1 :(得分:1)

Michał的答案很好,但我只想补充一点,strptime可用于将原始的“yyyy-mm-dd”字符串转换为datetime,然后再将其转换为“ yyyymm“字符串:

>>> import datetime
>>> s1 = '2013-12-29'
>>> d = datetime.datetime.strptime(s1, '%Y-%m-%d')
>>> sd = d.strftime('%Y%m')
>>> sd
'201312'

虽然对于这样一个简单的转变,Michał的切片方法很难被击败。