想象一下,你需要为一个整数添加+1" meetingWeek"每周,每周都有一次会议。 你是怎么做到的?
我在考虑约会" startDate"和整数" meetingWeek", 例如。
startDate= 2014/04/07
meetingWeek = 3 (We already had 3 meetings for example)
然后:
weekDif = todayDate-startDate
totalWeeks = weekDif + meetingWeek
如果我们在2014/04/14(" todayDate"),结果必须是meetingWeek = 4;一周剩下的时间也必须是4。 如果我们在2014/04 / 21-25,结果必须是meetingWeek = 5
所以在groovy中我可以做这样的事情:
use(groovy.time.TimeCategory) {
def weekDif = todayDate-startDate
println "days: ${weekDif.days}, Hours: ${weekDif.hours}"
}
我怎样才能获得这周?
答案 0 :(得分:1)
这样的事情:
def today = new Date()
def start = today + 45
def meetingWeek = 1
( today..start ).step( 7 ) { meetingWeek++ }
println meetingWeek
答案 1 :(得分:1)
忽略我之前的回答。这个应该可以正常工作 -
import groovy.time.TimeCategory
import java.lang.Math
def dateParser = new java.text.SimpleDateFormat("yyyy/MM/dd")
def startDate = dateParser.parse("2014/04/04").getTime()
def futureDate1 = dateParser.parse("2014/07/04").getTime()
def futureDate2 = dateParser.parse("2015/07/04").getTime()
def meetingSeed = 3
def millisInWeek = 604800000
def futureDate1Weeks = Math.floor((futureDate1 - startDate)/millisInWeek)
def futureDate2Weeks = Math.floor((futureDate2 - startDate)/millisInWeek)
println("Future Date 1 weeks - " + (futureDate1Weeks + meetingSeed))
println("Future Date 2 weeks - " + (futureDate2Weeks + meetingSeed))
答案 2 :(得分:0)
我的解决方案是:
Calendar cal = Calendar.getInstance();
cal.setTime(todayDate);
int week = cal.get(Calendar.WEEK_OF_YEAR);
cal = Calendar.getInstance();
cal.setTime(startDate);
int week2 = cal.get(Calendar.WEEK_OF_YEAR);
def todayMeetingWeekNumber = (week-week2) + meetingWeekSeed
想象一下价值观:
startDate= 2014/04/07
meetingWeekSeed = 3
输入:
2014/04/14
2014/04/15
2014/04/21
输出:
4
4
5