我想将格式化的时间戳传递给使用Calendar的方法(使用Java 1.6.0_22)。我有一个带有此签名的方法:
public void setTimestamp(Calendar param0);
要获得时间戳,我这样做了:
Calendar cal = Calendar.getInstance();
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_WEEK),
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
我希望它以这种方式格式化:
yyy-MM-ddTHH:mm:ss
然后将其传递给方法。我不能改变方法,因为我没有做到。我怎样才能做到这一点?
答案 0 :(得分:1)
您需要的是首先将字符串转换为Date
,然后将其设置为Calendar
。
String input = "2016-05-11T14:44:09";
java.util.Date date = new java.text.SimpleDateFormat("yyy-MM-dd'T'HH:mm:ss").parse(input);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
obj.setTimestamp(cal);