2012-03-07 17 views
0

私は日、週、月などでメトリックを集計する日付ウィンドウをイベントにタグ付けするJavaコンポーネントに取り組んでいます。部分日付のJoda境界日

日付から集計カテゴリへのマッピングは簡単です。目的のウィンドウに適切なパターンを使用してStringの形式で入力してください。たとえば、日付はFormatter pattern"%1$04tY-%1$02tm"(つまり、YYYY-MM)の月レベルの集計にマップできます。

私の問題は、ウィンドウからその境界日に逆マッピングすることです。集計月2012-02からその境界日までの2012-02-01および2012-03-01(半分の間隔を使用して)。私は(この例では、わかりやすくするためにを省略)を効果的に1つのステートメントで私のデータストア(MongoDBの)で日付の全体のスパンにタグを付け、これを必要とする:

db['events'].update( 
    {eventDate: {$gte: "2012-02-01", $lt: "2012-03-01"}, 
    {$set: {month: "2012-02"} 
); 

私はJoda-Time渡って来て、そのPartial APIはこれをサポート可能性があることを疑います機能性。私は自分自身を教えようとしていますが、誰かがこれをやる方法を既に知っていますか?

答えて

1

これは間違いなくJoda-Timeです。

TimeZonesで何をしたいかによって、次のように思っています。

YearMonth ym = new YearMonth(2012, DateTimeConstants.MARCH); 
    Interval interval = ym.toInterval(); 
    LocalDate monthStart = interval.getStart().toLocalDate(); 
    LocalDate monthEnd = interval.getEnd().toLocalDate(); 

    System.out.println("Start:" + monthStart); 
    System.out.println("End: " + monthEnd); 

注:のhttp:これは、少なくともジョダタイムv2.0の

+0

不足している部分が文字列から部分を解析しているが、私は、これはまだジョダに実装されていないことを収集していますが必要です://stackoverflow.com/questions/5068626 – RubyTuesdayDONO

関連する問題