2013-07-16 27 views
0

我需要通過我從jsp檢索的日期戳記來篩選App Engine查詢(strDatestamp)。我知道Datastore使用UTC時間,但我不確定如何。在我的分析考慮到這一點,我使用Z試過了,但是這並沒有工作解析字符串到日期來過濾GAE查詢

String strDatestamp = req.getParameter("datestamp"); 
    String myFormatString = "yyyy-MM-dd hh:mm:ss"; 
    Date datestamp = null; 
    try { 
     datestamp = new SimpleDateFormat(myFormatString, Locale.ENGLISH).parse(strDatestamp); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 
Filter filter = new FilterPredicate("date", FilterOperator.EQUAL, datestamp); 
Query query = new Query("Example", key) 
       .setFilter(filter); 
+0

請爲內容提供一個例子'strDatestamp'。 – nif

+0

2013年7月15日星期一13:44:52我也試過用這個標準唱歌「EEE MMM dd yyyy HH:mm:ss Z」 – user2532297

回答

1

這應該解析例子字符串:

String dt = "Mon Jul 15 13:44:52 UTC 2013"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
System.out.println(sdf.parse(dt)); 
+0

@OP:只需注意SimpleDateFormat初始化代價昂貴,因此請求之間共享它:http://stackoverflow.com/questions/4107839/synchronizing-access-到SimpleDateFormat的/ 4108026#4108026 –