public static Instant getMonthStart(Instant time) {

		Assert.notNull(time, "Missing date time");
		LocalDateTime dateTime = LocalDateTime.ofInstant(time, ZoneOffset.UTC);
		dateTime = dateTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).with(ChronoField.MILLI_OF_SECOND, 0);
		return dateTime.toInstant(ZoneOffset.UTC);
	}
public static Instant getMonthStart(Instant time) {

		Assert.notNull(time, "Missing date time");
		LocalDateTime dateTime = LocalDateTime.ofInstant(time, ZoneOffset.UTC);
		dateTime = dateTime.withDayOfMonth(1).withHour(0).withMinute(0).withSecond(0).with(ChronoField.MILLI_OF_SECOND, 0);
		return dateTime.toInstant(ZoneOffset.UTC);
	}
public static Instant getMonthStart ( Instant time ) { Assert . notNull ( time , "Missing date time" ) ; LocalDateTime dateTime = LocalDateTime . ofInstant ( time , ZoneOffset . UTC ) ; dateTime = dateTime . withDayOfMonth ( 1 ) . withHour ( 0 ) . withMinute ( 0 ) . withSecond ( 0 ) . with ( ChronoField . MILLI_OF_SECOND , 0 ) ; return dateTime . toInstant ( ZoneOffset . UTC ) ; }
Gets first millisecond of first day in month

@param time to get first millisecond
@return first millisecond of month for given time
Gets first millisecond of first day in month