【发布时间】:2014-07-22 12:41:11
【问题描述】:
如何在 java 中将RFC 3339com.google.api.client.util.DateTime 转换为 DateTime。
例如,我收到“2014-07-21T16:35:27.000Z”,我需要将其转换为“2014 年 7 月 15 日下午 6:07:25”格式。
还有什么可以转换的吗?
这是我尝试过的。
我已将 DateandTime 作为字符串保存在 mongo db 中。
public Map<String, String> getYouTubeLastFetchDateTime(String key) {
System.out.println("Inserting data first time....");
Date nowDate = new Date();
Date dateBefore = new Date(nowDate.getTime() - 7 * 24 * 3600
* 1000);
Utils utils = new Utils();
DBCollection collection = utils.getStaging().getCollection(
DB_YOUTUBE_COLLECTION_NAME);
if (null != collection) {
CIPKeyWord keyword = new CIPKeyWord();
keyword.setLastFeachedTime(dateBefore);
keyword.setName(key);
DBObject dbObject = getDBObject(keyword);
collection.save(dbObject);
// ObjectId id = (ObjectId) dbObject.get("_id");
}
queryObject = new BasicDBObject().append("name", key);
result = dao.findOne(queryObject, DB_YOUTUBE_COLLECTION_NAME);
lastFetchedTime = (String) result.get("lastFeachedTime");
nextPageToken = (String) result.get("nextPageToken");
prevPageToken = (String) result.get("prevPageToken");
}
private String getKeyword() {
Map<String, String> paginationInfo = utils
.getYouTubeLastFetchDateTime(key);
String dateTime = paginationInfo.get("lastFechedDate");
date = new SimpleDateFormat("MMMM dd, yyyy", Locale.ENGLISH)
.parse(dateTime);
com.google.api.client.util.DateTime.DateTime lastFechedDate = new DateTime(date);
}
现在要更新日期,我得到的是 Rfc3339 格式的日期,我必须将其转换为 java.util.Date 格式。
public static boolean updateYouTubeLastFetchDate(String keyword,
DateTime newFetchTime, String nextPageToken, String prevPageToken){
BasicDBObject updateDocument = new BasicDBObject();
updateDocument.append(
"$set",
new BasicDBObject().append("nextPageToken",
nextPageToken).append("prevPageToken",
prevPageToken)
.append("lastFeachedTime",
newFetchTime.toString())
);
CIPDBUtils utils = new CIPDBUtils();
DBCollection collection = utils.getStaging().getCollection(
DB_YOUTUBE_COLLECTION_NAME);
collection.update(queryObject, updateDocument);
}
【问题讨论】:
-
您想将字符串从一种格式转换为另一种格式,还是将
DateTime实例转换为另一个类的实例?第二个字符串在哪个时区? -
我已经编辑了这个问题。请检查一下
标签: java mongodb date datetime