java.util.Calendar#add ( )源码实例Demo

下面列出了java.util.Calendar#add ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: alcor   文件: DateUtil.java
public static String localToUTC(String localTime, String format) {
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    Date localDate= null;
    try {
        localDate = sdf.parse(localTime);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    long localTimeInMillis = localDate.getTime();

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(localTimeInMillis);
    int zoneOffset = calendar.get(java.util.Calendar.ZONE_OFFSET);
    int dstOffset = calendar.get(java.util.Calendar.DST_OFFSET);
    calendar.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));
    Date utcDate = new Date(calendar.getTimeInMillis());
    String utc = sdf.format(utcDate);

    return utc;
}
 
源代码2 项目: dhis2-core   文件: RedisLeaderManager.java
@Override
public void electLeader()
{
    log.debug( "Election attempt by nodeId:" + this.nodeId );
    redisTemplate.getConnectionFactory().getConnection().set( key.getBytes(), nodeId.getBytes(),
        Expiration.from( timeToLiveSeconds, TimeUnit.SECONDS ), SetOption.SET_IF_ABSENT );
    if ( isLeader() )
    {
        renewLeader();
        Calendar calendar = Calendar.getInstance();
        calendar.add( Calendar.SECOND, (int) (this.timeToLiveSeconds / 2) );
        log.debug( "Next leader renewal job nodeId:" + this.nodeId + " set at " + calendar.getTime().toString() );
        JobConfiguration leaderRenewalJobConfiguration = new JobConfiguration( CLUSTER_LEADER_RENEWAL,
            JobType.LEADER_RENEWAL, null, true );
        leaderRenewalJobConfiguration.setLeaderOnlyJob( true );
        schedulingManager.scheduleJobWithStartTime( leaderRenewalJobConfiguration, calendar.getTime() );
    }
}
 
源代码3 项目: ccu-historian   文件: SegmentedTimeline.java
/**
 * Returns the milliseconds for midnight of the first Monday after
 * 1-Jan-1900, ignoring daylight savings.
 *
 * @return The milliseconds.
 *
 * @since 1.0.7
 */
public static long firstMondayAfter1900() {
    int offset = TimeZone.getDefault().getRawOffset();
    TimeZone z = new SimpleTimeZone(offset, "UTC-" + offset);

    // calculate midnight of first monday after 1/1/1900 relative to
    // current locale
    Calendar cal = new GregorianCalendar(z);
    cal.set(1900, 0, 1, 0, 0, 0);
    cal.set(Calendar.MILLISECOND, 0);
    while (cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
        cal.add(Calendar.DATE, 1);
    }
    //return cal.getTimeInMillis();
    // preceding code won't work with JDK 1.3
    return cal.getTime().getTime();
}
 
源代码4 项目: SimFix   文件: 1_DurationFormatUtils.java
static int reduceAndCorrect(Calendar start, Calendar end, int field, int difference) {
        end.add( field, -1 * difference );
        int endValue = end.get(field);
        int startValue = start.get(field);
// start of generated patch
if(endValue<field){
int newdiff=startValue-endValue;
end.add(field,newdiff);
return newdiff;
}else {
return 0;
}
// end of generated patch
/* start of original code
        if (endValue < startValue) {
            int newdiff = startValue - endValue;
            end.add( field, newdiff );
            return newdiff;
        } else {
            return 0;
        }
 end of original code*/
    }
 
源代码5 项目: fabric-net-server   文件: BlockServiceImpl.java
@Override
public Curve get20CountList() {
    List<Integer> integers = new LinkedList<>();
    Curve curve = new Curve();
    curve.setName("Block Count");
    for (int i = 19; i >= 0; i--) {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, 0 - i);
        int date = Integer.valueOf(DateUtil.date2Str(calendar.getTime(), "yyyyMMdd"));
        int blockCount = 0;
        try {
            blockCount = blockMapper.countByDate(date);
        } catch (Exception ignored) {

        }
        integers.add(blockCount);
    }
    int ud = integers.get(19) - integers.get(18);
    curve.setUpDown(ud >= 0 ? "+" + ud : String.valueOf(ud));
    curve.setIntegers(integers);
    return curve;
}
 
源代码6 项目: hop   文件: ScriptAddedFunctions.java
public static Object getFiscalDate( ScriptEngine actualContext, Bindings actualObject, Object[] ArgList,
                                    Object FunctionContext ) {

  if ( ArgList.length == 2 ) {
    try {
      if ( isNull( ArgList ) ) {
        return null;
      } else if ( isUndefined( ArgList ) ) {
        return undefinedValue;
      }
      java.util.Date dIn = (java.util.Date) ArgList[ 0 ];
      Calendar startDate = Calendar.getInstance();
      Calendar fisStartDate = Calendar.getInstance();
      Calendar fisOffsetDate = Calendar.getInstance();
      startDate.setTime( dIn );
      Format dfFormatter = new SimpleDateFormat( "dd.MM.yyyy" );
      String strOffsetDate = (String) ArgList[ 1 ] + String.valueOf( startDate.get( Calendar.YEAR ) );
      java.util.Date dOffset = (java.util.Date) dfFormatter.parseObject( strOffsetDate );
      fisOffsetDate.setTime( dOffset );

      String strFisStartDate = "01.01." + String.valueOf( startDate.get( Calendar.YEAR ) + 1 );
      fisStartDate.setTime( (java.util.Date) dfFormatter.parseObject( strFisStartDate ) );
      int iDaysToAdd = (int) ( ( startDate.getTimeInMillis() - fisOffsetDate.getTimeInMillis() ) / 86400000 );
      fisStartDate.add( Calendar.DATE, iDaysToAdd );
      return fisStartDate.getTime();
    } catch ( Exception e ) {
      throw new RuntimeException( e.toString() );
    }
  } else {
    throw new RuntimeException( "The function call getFiscalDate requires 2 arguments." );
  }

}
 
源代码7 项目: sakai   文件: StatsManagerImpl.java
public SummaryVisitsChartData getSummaryVisitsChartData(String siteId, String viewType){
	SummaryVisitsChartData svc = new SummaryVisitsChartDataImpl(viewType);
	Calendar c = Calendar.getInstance();
	c.set(Calendar.HOUR_OF_DAY, 23);
	c.set(Calendar.MINUTE, 59);
	c.set(Calendar.SECOND, 59);
	Date finalDate = c.getTime();
	Date initialDate = null;
	
	List<SiteVisits> siteVisits = null;
	if(VIEW_WEEK.equals(viewType)){
		c.add(Calendar.DATE, -6);
		initialDate = c.getTime();
		siteVisits = getSiteVisits(siteId, initialDate, finalDate);
	}else if(VIEW_MONTH.equals(viewType)){
		c.add(Calendar.DATE, -29);
		initialDate = c.getTime();
		siteVisits = getSiteVisits(siteId, initialDate, finalDate);
	}else if(VIEW_YEAR.equals(viewType)){
		c.add(Calendar.MONTH, -11);
		initialDate = c.getTime();
		siteVisits = getSiteVisitsByMonth(siteId, initialDate, finalDate);
	}
	//log.info("siteVisits of [siteId:"+siteId+"] from ["+initialDate.toGMTString()+"] to ["+finalDate.toGMTString()+"]: "+siteVisits.toString());
	svc.setSiteVisits(siteVisits);
	return (siteVisits != null && siteVisits.size() > 0)? svc : null;
}
 
源代码8 项目: BaseProject   文件: DateUtil.java
/**
 * 返回某月份的最后一天
 */
public static Date getLastDayByMonth(@NonNull Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.MONTH, 1);
    calendar.add(Calendar.DAY_OF_MONTH, -1);
    return calendar.getTime();
}
 
源代码9 项目: com.ruuvi.station   文件: TagSensorReading.java
public static void removeOlderThan(int hours) {
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.HOUR, -hours);
    SQLite.delete()
            .from(TagSensorReading.class)
            .where(TagSensorReading_Table.createdAt.lessThan(cal.getTime()))
            .async()
            .execute();
}
 
源代码10 项目: java_server   文件: OrderServiceImpl.java
public Long getPCOrdersCount(Short status, String search) {
	Calendar calendar=Calendar.getInstance();

	if(status!=1){
		calendar.add(Calendar.MONTH, -1);
		calendar.set(Calendar.DAY_OF_MONTH, 1);            //设定默认只显示近两个月的数据		
	}else{
		calendar.add(Calendar.DAY_OF_MONTH, -14);        //代发货订单默认显示两周内订单
	}
	
	return orderMapper.getPCOrdersCount(status,calendar.getTime(),search);
}
 
源代码11 项目: api-layer   文件: ZosmfSchemeTest.java
private QueryResponse prepareQueryResponseForTime(int amountOfSeconds) {
    QueryResponse queryResponse = new QueryResponse();
    Calendar c = Calendar.getInstance();
    c.add(Calendar.SECOND, amountOfSeconds);
    queryResponse.setExpiration(c.getTime());
    return queryResponse;
}
 
源代码12 项目: PeonyFramwork   文件: DateUtils.java
/**
 * 获取下一天的零点
 */
public static long getNewDay() {
	Calendar cal = Calendar.getInstance();
	cal.setTime(new Date());
	cal.set(Calendar.HOUR_OF_DAY, 0);
	cal.set(Calendar.MINUTE, 0);
	cal.set(Calendar.SECOND, 0);
	cal.set(Calendar.MILLISECOND, 0);
	cal.add(Calendar.DAY_OF_MONTH, 1);
	return  cal.getTimeInMillis();
}
 
源代码13 项目: olat   文件: ProfileAndHomePageEditController.java
private Date createTimeoutDate(final UserRequest ureq, TemporaryKey tk) {
    final Calendar cal = Calendar.getInstance();
    cal.setTime(tk.getCreationDate());
    cal.add(Calendar.DAY_OF_WEEK, ChangeEMailController.TIME_OUT);
    return cal.getTime();
}
 
private Calendar aMonthAgo() {
    Calendar lastSentNotificationMailAMonthAgo = GregorianCalendar.getInstance();
    lastSentNotificationMailAMonthAgo.add(GregorianCalendar.MONTH, -1);
    return lastSentNotificationMailAMonthAgo;
}
 
源代码15 项目: arcusplatform   文件: TestDayOfWeekFilter.java
@Test
public void testSomeDays() {
   ScheduledEvent event;
   DayOfWeekFilter filter = new DayOfWeekFilter(AlwaysFireCondition.getInstance(), EnumSet.of(DayOfWeek.MONDAY, DayOfWeek.THURSDAY, DayOfWeek.FRIDAY));
   AttributeValueChangedEvent valueChangeEvent = AttributeValueChangedEvent.create(
         Address.platformDriverAddress(UUID.randomUUID()),
         "test:attribute", 
         "value", 
         null
   );
   
   Calendar expectedChangeTime = new TimeOfDay(0, 00, 00).on(day(Calendar.MONDAY));
   Calendar valueChangeTime = new TimeOfDay(8, 00, 00).on(day(Calendar.MONDAY));
   
   assertTrue(filter.isSatisfiable(context));
   assertEquals("When an event happens on MONDAY,THURSDAY,FRIDAY", filter.toString());
   
   // activate on Monday
   context.setLocalTime(expectedChangeTime);
   filter.activate(context);
   assertTrue(filter.isActive());
   event = context.getEvents().poll();
   assertNotNull(event);
   expectedChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   assertDateEquals(expectedChangeTime.getTimeInMillis(), event.getScheduledTimestamp());
   
   // monday
   context.setLocalTime(valueChangeTime);
   assertTrue(filter.shouldFire(context, valueChangeEvent));
   
   // de-activate on Tuesday
   context.setLocalTime(expectedChangeTime);
   assertFalse(filter.shouldFire(context, event));
   assertFalse(filter.isActive());
   event = context.getEvents().poll();
   assertNotNull(event);
   expectedChangeTime.add(Calendar.DAY_OF_WEEK, 2);
   assertDateEquals(expectedChangeTime.getTimeInMillis(), event.getScheduledTimestamp());

   // tuesday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertFalse(filter.shouldFire(context, valueChangeEvent));

   // wednesday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertFalse(filter.shouldFire(context, valueChangeEvent));

   // re-activate start of thursday
   context.setLocalTime(expectedChangeTime);
   assertTrue(filter.shouldFire(context, event));
   assertTrue(filter.isActive());
   event = context.getEvents().poll();
   assertNotNull(event);
   expectedChangeTime.add(Calendar.DAY_OF_WEEK, 2);
   assertDateEquals(expectedChangeTime.getTimeInMillis(), event.getScheduledTimestamp());

   // thursday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertTrue(filter.shouldFire(context, valueChangeEvent));
   
   // friday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertTrue(filter.shouldFire(context, valueChangeEvent));
   
   // de-activate start of saturday
   context.setLocalTime(expectedChangeTime);
   assertFalse(filter.shouldFire(context, event));
   assertFalse(filter.isActive());
   event = context.getEvents().poll();
   assertNotNull(event);
   expectedChangeTime.add(Calendar.DAY_OF_WEEK, 2);
   assertDateEquals(expectedChangeTime.getTimeInMillis(), event.getScheduledTimestamp());

   // saturday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertFalse(filter.shouldFire(context, valueChangeEvent));
   
   // sunday
   valueChangeTime.add(Calendar.DAY_OF_WEEK, 1);
   context.setLocalTime(valueChangeTime);
   assertFalse(filter.shouldFire(context, valueChangeEvent));
}
 
源代码16 项目: Doradus   文件: TimeUtils.java
public static Calendar getPeriodEnd(Calendar calendar, String units) {

        Calendar c1 = (Calendar) calendar.clone();

        switch (functions.get(units)) {
            case 1:  //This minute
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.add(Calendar.MINUTE, 1);

                break;
            case 2:  //This hour
                c1.set(Calendar.MINUTE, 0);
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.add(Calendar.HOUR_OF_DAY, 1);
                break;
            case 3:  //today
                c1.clear(Calendar.AM_PM);
                c1.set(Calendar.HOUR_OF_DAY, 0);
                c1.set(Calendar.MINUTE, 0);
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.add(Calendar.DAY_OF_YEAR, 1);
                break;
            case 4:  //this week
                c1.set(Calendar.DAY_OF_WEEK, c1.getFirstDayOfWeek());
                c1.clear(Calendar.AM_PM);
                c1.set(Calendar.HOUR_OF_DAY, 0);
                c1.set(Calendar.MINUTE, 0);
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.add(Calendar.WEEK_OF_YEAR, 1);
                break;
            case 5:  //this month
                c1.set(Calendar.DAY_OF_MONTH, 1);
                c1.clear(Calendar.AM_PM);
                c1.set(Calendar.HOUR_OF_DAY, 0);
                c1.set(Calendar.MINUTE, 0);
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.add(Calendar.MONTH, 1);
                break;
            case 6:  //this year
                c1.clear(Calendar.AM_PM);
                c1.set(Calendar.HOUR_OF_DAY, 0);
                c1.set(Calendar.MINUTE, 0);
                c1.set(Calendar.SECOND, 0);
                c1.set(Calendar.MILLISECOND, 0);
                c1.set(Calendar.DAY_OF_YEAR, 1);
                c1.add(Calendar.YEAR, 1);
                break;
            default:
                break;
        }
        return c1;
    }
 
源代码17 项目: o2oa   文件: DateHelper.java
public static Date getJustDay(int type, int count) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.add(type, count);
    return calendar.getTime();
}
 
源代码18 项目: openemm   文件: ComWorkflowValidationService.java
/**
 * Check whether a mailtracking is enabled (if it's needed) and a maximum possible time period
 * between followed mailing and following one doesn't exceeds {@code trackingDays}.
 * @param icons workflow icons to process.
 * @param trackingDays mailtracking data expiration period (or 0 when a mailtracking is disabled).
 */
public List<MailingTrackingUsageError> checkMailingTrackingUsage(List<WorkflowIcon> icons, int trackingDays) {
    List<MailingTrackingUsageError> errors = new ArrayList<>();
    WorkflowGraph graph = new WorkflowGraph();

    if (!graph.build(icons)) {
        return errors;
    }

    final Set<Integer> mailingTypes = new HashSet<>(Arrays.asList(
            WorkflowIconType.MAILING.getId(),
            WorkflowIconType.ACTION_BASED_MAILING.getId(),
            WorkflowIconType.DATE_BASED_MAILING.getId(),
            WorkflowIconType.FOLLOWUP_MAILING.getId()
    ));

    for (WorkflowNode mailingNode : graph.getAllNodesByTypes(mailingTypes)) {
        WorkflowMailingAware mailingIcon = (WorkflowMailingAware) mailingNode.getNodeIcon();

        // Find all available incoming chains for this mailing icon
        List<List<WorkflowNode>> chains = workflowService.getChains(mailingIcon, icons, false);

        for (List<WorkflowNode> chain : chains) {
            boolean valid = true;
            boolean isLeadMailingNormal = isNormalMailing(mailingIcon);

            Date mailingDate = workflowService.getChainDate(chain);
            if (mailingDate == null) {
                continue;
            }

            // Skip mailing node itself (it's first in the chain)
            for (int i = 1; i < chain.size(); i++) {
                WorkflowIcon icon = chain.get(i).getNodeIcon();

                // A decision icon is treated as a termination one if it doesn't use a mailtracking data
                if (icon.getType() == WorkflowIconType.DECISION.getId()) {
                    WorkflowDecision decision = (WorkflowDecision) icon;

                    if (icon.isFilled()) {
                        if (decision.getDecisionType() == WorkflowDecisionType.TYPE_AUTO_OPTIMIZATION) {
                            // Auto optimization doesn't use a mailtracking data
                            break;
                        }
                        // Decision (reaction, yes-path only) doesn't use a mailtracking data
                        if (decision.getDecisionType() == WorkflowDecisionType.TYPE_DECISION &&
                                decision.getDecisionCriteria() == WorkflowDecisionCriteria.DECISION_REACTION &&
                                chain.get(i - 1) == graph.getDecisionYesBranch(chain.get(i))) {
                            // Whether the chain goes through decision's positive connection (yes-path)
                            break;
                        }
                    }
                } else if (WorkflowUtils.isMailingIcon(icon)) {
                    WorkflowMailingAware followedMailingIcon = (WorkflowMailingAware) icon;

                    if (trackingDays > 0) {
                        Date followedMailingDate = workflowService.getChainDate(chain, icon);
                        if (followedMailingDate == null) {
                            break;
                        }

                        Calendar expirationDate = Calendar.getInstance();
                        expirationDate.setTime(followedMailingDate);
                        expirationDate.add(Calendar.DAY_OF_YEAR, trackingDays);

                        if (mailingDate.after(expirationDate.getTime())) {
                            valid = false;
                            errors.add(new MailingTrackingUsageError(
                                    MailingTrackingUsageErrorType.EXPIRATION_PERIOD_EXCEEDED,
                                    followedMailingIcon.getMailingId()
                            ));
                        }
                    } else if(!isLeadMailingNormal || !isNormalMailing(icon)){
                        //Checks if mailtracking is disabled only normal mailings can be in queue

                        valid = false;
                        errors.add(new MailingTrackingUsageError(
                                MailingTrackingUsageErrorType.MAILING_TRACKING_DISABLED,
                                mailingIcon.getMailingId()
                        ));
                    }
                    break;
                }
            }

            // There's no sense to show multiple errors related to the same mailing icon
            if (!valid) {
                // Skip other chains starting with this mailing icon
                break;
            }
        }
    }

    return errors;
}
 
源代码19 项目: development   文件: DataProviderTimerBased.java
private long addMonths(long millis, int months) {
    Calendar cal = getCalendar();
    cal.setTimeInMillis(millis);
    cal.add(Calendar.MONTH, months);
    return cal.getTimeInMillis();
}
 
源代码20 项目: MeetingFilm   文件: DateTimeKit.java
/**
 * 获取指定日期偏移指定时间后的时间
 *
 * @param date 基准日期
 * @param calendarField 偏移的粒度大小(小时、天、月等)使用Calendar中的常数
 * @param offsite 偏移量,正数为向后偏移,负数为向前偏移
 * @return 偏移后的日期
 */
public static DateTime offsiteDate(Date date, int calendarField, int offsite) {
	Calendar cal = Calendar.getInstance();
	cal.setTime(date);
	cal.add(calendarField, offsite);
	return new DateTime(cal.getTime());
}