新加活动类型:5
parent
d93d9a1f6a
commit
f30d36473d
|
@ -16,6 +16,9 @@ import java.util.Date;
|
|||
import java.util.Locale;
|
||||
import java.util.TimeZone;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
|
||||
//import com.google.common.collect.Lists;
|
||||
|
@ -115,8 +118,8 @@ public class TimeUtils {
|
|||
/**
|
||||
* 年月日,格式如1970-07-10
|
||||
*/
|
||||
//private static final DateFormat ymdFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
//private static final DateFormat ymdFormatN= new SimpleDateFormat("yyyy-MM-dd");
|
||||
private static final String ymdFormatN = "yyyy-MM-dd";
|
||||
/**
|
||||
* 年月日,格式如19700710
|
||||
*/
|
||||
|
@ -1493,4 +1496,22 @@ public class TimeUtils {
|
|||
long timestamp = cal.getTimeInMillis();
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算两个时间相差的几个月
|
||||
* @return
|
||||
*/
|
||||
public static long getGapMonthsByTwoTime(String startTime,String endTime){
|
||||
DateTimeFormatter form = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDate start = LocalDate.parse(startTime, form);
|
||||
long mm = ChronoUnit.MONTHS.between(start, LocalDate.parse(endTime, form));
|
||||
return mm;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取时间戳字符串yyyy-MM-dd
|
||||
*/
|
||||
public static String getTimeStampYMDnew(Long time) {
|
||||
return new SimpleDateFormat(ymdFormatN).format(new Date(time));
|
||||
}
|
||||
}
|
|
@ -143,6 +143,13 @@ public class ActivityLogic implements IEventHandler{
|
|||
if (time == ActivityType.OPEN_TYPE_ROLE) {
|
||||
continue;
|
||||
}
|
||||
if(time == ActivityType.OPEN_TYPE_MONTHS){
|
||||
//now = 当前是开服第几个月
|
||||
//开服日期
|
||||
String openTime = GameApplication.serverConfig.getOpenTime().split(" ")[0];
|
||||
String nowTime = TimeUtils.getTimeStampYMDnew(TimeUtils.now());
|
||||
now = TimeUtils.getGapMonthsByTwoTime(openTime, nowTime)+1;
|
||||
}
|
||||
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1);
|
||||
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2);
|
||||
long gapEndTime = endTime+sGlobalActivity.getGapTime()*TimeUtils.DAY;
|
||||
|
|
|
@ -8,8 +8,11 @@ public interface ActivityType {
|
|||
int FINISH_STATE = 2;
|
||||
|
||||
int OPEN_TYPE_TIME = 1; // 活动开启类型:绝对时间
|
||||
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
|
||||
int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间
|
||||
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
|
||||
|
||||
int OPEN_TYPE_MONTHS = 5 ; // 活动开启类型:开服自然月
|
||||
|
||||
|
||||
|
||||
int WILL_TAKE = 0; //未领取
|
||||
|
|
|
@ -12,7 +12,7 @@ public class ToolsUtil {
|
|||
baseTime = endTimeLong;
|
||||
}
|
||||
long startTime=0;
|
||||
if(time == ActivityType.OPEN_TYPE_TIME){
|
||||
if(time == ActivityType.OPEN_TYPE_TIME || time == ActivityType.OPEN_TYPE_MONTHS){
|
||||
startTime = baseTime;
|
||||
}else if(time == ActivityType.OPEN_TYPE_SERVER){
|
||||
long serverOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
|
|
Loading…
Reference in New Issue