想象一下,你需要每周在整数"meetingWeek"中添加+1,每周你有一个会议。你是怎么做到的?
我在想有一个日期"开始日期"和整数"会议周",所以例如
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
所以在时髦中,我可以做这样的事情:
use(groovy.time.TimeCategory) {
def weekDif = todayDate-startDate
println "days: ${weekDif.days}, Hours: ${weekDif.hours}"
}
我怎样才能获得周数?
忽略我之前的答案。 这个应该可以正常工作 -
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))
像这样:
def today = new Date()
def start = today + 45
def meetingWeek = 1
( today..start ).step( 7 ) { meetingWeek++ }
println meetingWeek
我的解决方案是:
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