List of usage examples for org.joda.time LocalDateTime getDayOfMonth
public int getDayOfMonth()
From source file:com.ramzcalender.sample.Sample.java
License:Apache License
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sample);/*from w w w . j a va 2 s . co m*/ mDateSelectedTv = (TextView) findViewById(R.id.txt_date); rCalendarFragment = new RWeekCalendar(); /*Define you startDate and end Date*/ rCalendarFragment.startDate(1989, 9, 1);//Start date rCalendarFragment.endDate(2018, 12, 31);//Ending date Bundle args = new Bundle(); /*Should add this attribute if you adding the NOW_BACKGROUND or DATE_SELECTOR_BACKGROUND Attribute*/ args.putString(RWeekCalendar.PACKAGENAME, getApplicationContext().getPackageName()); /* IMPORTANT: Customization for the calender commenting or un commenting any of the attribute below will reflect change in calender*/ //---------------------------------------------------------------------------------------------------------------------// //set Calender type you want if you don't set any normal calender will be set if (getIntent().getExtras().getInt(RWeekCalendar.CALENDER_TYPE) == RWeekCalendar.FDF_CALENDER) { /** Set Calender type to FIRSTDAYFIRST (FDF_CALENDER)here * the week days will start as current day as first entry * eg if current day is friday calender start with fri,sat,etc * */ args.putInt(RWeekCalendar.CALENDER_TYPE, RWeekCalendar.FDF_CALENDER); } else { /** * set Calender type to normal here the week days will * start as normal be like Sun,Mon etc * */ args.putInt(RWeekCalendar.CALENDER_TYPE, RWeekCalendar.NORMAL_CALENDER); } // args.putInt(RWeekCalender.CALENDER_BACKGROUND, ContextCompat.getColor(this,R.color.md_pink_700));//set background color to calender args.putString(RWeekCalendar.DATE_SELECTOR_BACKGROUND, "bg_select");//set background to the selected dates // args.putString(RWeekCalender.NOW_BACKGROUND,"bg_now");//set background to nowView // args.putInt(RWeekCalender.CURRENT_DATE_BACKGROUND,ContextCompat.getColor(this,R.color.md_black_1000));//set color to the currentdate // args.putInt(RWeekCalender.PRIMARY_BACKGROUND, ContextCompat.getColor(this,R.color.md_white_1000));//Set color to the primary views (Month name and dates) // args.putInt(RWeekCalender.SECONDARY_BACKGROUND, ContextCompat.getColor(this,R.color.md_green_500));//Set color to the secondary views (now view and week names) //---------------------------------------------------------------------------------------------------------------------// rCalendarFragment.setArguments(args); // Attach to the activity FragmentTransaction t = getSupportFragmentManager().beginTransaction(); t.replace(R.id.container, rCalendarFragment); t.commit(); CalenderListener listener = new CalenderListener() { @Override public void onSelectPicker() { //User can use any type of pickers here the below picker is only Just a example DatePickerDialog .newInstance(Sample.this, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH)) .show(getFragmentManager(), "datePicker"); } @Override public void onSelectDate(LocalDateTime mSelectedDate) { //callback when a date is selcted mDateSelectedTv.setText("" + mSelectedDate.getDayOfMonth() + "-" + mSelectedDate.getMonthOfYear() + "-" + mSelectedDate.getYear()); } }; //setting the listener rCalendarFragment.setCalenderListener(listener); }
From source file:com.ramzcalender.utils.CalUtil.java
License:Open Source License
/** * Initial calculation of the week/*from ww w.jav a2 s . c om*/ * * @param mStartDate */ public void calculate(LocalDateTime mStartDate, int type) { //Initializing Start with current month final LocalDateTime currentDateTime = mStartDate; setStartDate(currentDateTime.getYear(), currentDateTime.getMonthOfYear(), currentDateTime.getDayOfMonth()); /*Check for difference of weeks for alignment of days*/ int weekGap = CalUtil.mDateGap(currentDateTime.dayOfWeek().getAsText().substring(0, 3).toLowerCase()); if (weekGap != 0) { //If the there is week gap we need to maintain in the calender else alignment will be a mess if (type == RWeekCalendar.FDF_CALENDER) { //If the week gap is in FDF calender first get the current days number of the week int currentWeekNumber = new LocalDateTime().dayOfWeek().get(); //Subtract it with the rest of the days(Week gap) to get the rest of the days weekGap = weekGap - currentWeekNumber; } //This will add the additional days LocalDateTime ldt = mStartDate.minusDays(weekGap); // Set the the new startDate after new calculated days setStartDate(ldt.getYear(), ldt.getMonthOfYear(), ldt.getDayOfMonth()); } else { //Some times the week gap will be zero in that case If the selected calender is FDFCalender if (type == RWeekCalendar.FDF_CALENDER) { //Subtract total days of week (7) with the week day number of current date int currentWeekNumber = 7 - new LocalDateTime().dayOfWeek().get(); if (currentWeekNumber != 0) { // Set the the new startDate after new calculated days LocalDateTime ldt = mStartDate.minusDays(currentWeekNumber); setStartDate(ldt.getYear(), ldt.getMonthOfYear(), ldt.getDayOfMonth()); } } } }
From source file:com.ramzcalender.WeekFragment.java
License:Open Source License
/** * Setting date when selected form picker * * @param mSelectedDate// www . j a v a 2 s . c o m */ public void ChangeSelector(LocalDateTime mSelectedDate) { LocalDateTime startDate = AppController.getInstance().getDate(); int addDays = datePosition * 7; startDate = startDate.plusDays(addDays); for (int i = 0; i < 7; i++) { if (mSelectedDate.getDayOfMonth() == startDate.getDayOfMonth()) { textViewArray[i].setBackgroundResource(selectorDateIndicatorValue); mDateSelectedBackground(i); } startDate = startDate.plusDays(1); } }
From source file:com.restservice.serviceLogic.ResultLogic.java
License:Open Source License
/** * Request handler for getting the count per hour statistic * Additional logic beyond the transactor database connection to insert additional zeros * for dates where no count (row) has been returned * //w ww . j a v a2s . co m * @param id * search term index * @return envelope containing a status message and a search result count * per date DTO * @throws SQLException * @throws ExecutionException * @throws InterruptedException */ public Envelope getCountAndNewsPerHour(Long id, String lang) throws SQLException, InterruptedException, ExecutionException { SearchTermsPerQueryPerDate countsPerDay; Envelope env = new Envelope(); countsPerDay = transactor.getCountPerHour(id, lang); // Fill with zeros ArrayList<Integer> newCounts = new ArrayList<Integer>(); ArrayList<LocalDateTime> newDates = new ArrayList<LocalDateTime>(); if (!countsPerDay.getDates().isEmpty()) { ArrayList<LocalDateTime> oldDates = new ArrayList<>(); for (LocalDateTime curDate : countsPerDay.getDates()) { oldDates.add(new LocalDateTime(curDate.getYear(), curDate.getMonthOfYear(), curDate.getDayOfMonth(), curDate.getHourOfDay(), 0)); } newDates.add(oldDates.get(0)); newCounts.add(countsPerDay.getCounts().get(0)); for (int i = 1; i < oldDates.size(); i++) { if (!oldDates.get(i - 1).plusHours(1).equals(oldDates.get(i))) { LocalDateTime startDate = oldDates.get(i - 1); LocalDateTime endDate = oldDates.get(i); while (!startDate.equals(endDate)) { startDate = startDate.plusHours(1); if (startDate.equals(endDate)) { newDates.add(oldDates.get(i)); newCounts.add(countsPerDay.getCounts().get(i)); } else { newCounts.add(0); newDates.add(startDate); } } } else { newDates.add(oldDates.get(i)); newCounts.add(countsPerDay.getCounts().get(i)); } } } countsPerDay.setCounts(newCounts); countsPerDay.setDates(newDates); countsPerDay.updateDateStrings(); // convert to nice output format CountAndNewsPerHour countAndNews = new CountAndNewsPerHour(); for (Integer index = 0; index < countsPerDay.getCounts().size(); index++) { CountPeaksNewsAndDate element = new CountPeaksNewsAndDate(); element.setRawDate(countsPerDay.getDates().get(index)); element.setCount(countsPerDay.getCounts().get(index)); element.setPeak(false); countAndNews.getGraph().add(element); } countAndNews.setQuery(countsPerDay.getQuery()); // find and marks peaks ArrayList<Integer> peakIndices = PeaksUtil.findPeaks24(countAndNews); for (Integer peakIndex : peakIndices) { countAndNews.getGraph().get(peakIndex).setPeak(true); } if (peakIndices.size() > 0) { // create news fetchers HashMap<Integer, Future<ArrayList<NewsItem>>> newsFetchers = new HashMap<Integer, Future<ArrayList<NewsItem>>>(); ExecutorService executor = Executors.newFixedThreadPool(peakIndices.size()); for (Integer peakIndex : peakIndices) { LocalDateTime date = countAndNews.getGraph().get(peakIndex).getRawDate(); newsFetchers.put(peakIndex, executor.submit( new TopNewsFetcherThread(id, date.getDayOfMonth(), date.getMonthOfYear(), date.getYear()))); } // retrieve news fetchers results executor.shutdown(); java.util.Iterator<Entry<Integer, Future<ArrayList<NewsItem>>>> iterator = newsFetchers.entrySet() .iterator(); while (iterator.hasNext()) { Entry<Integer, Future<ArrayList<NewsItem>>> entry = iterator.next(); ArrayList<NewsItem> result = entry.getValue().get(); if (result != null) { for (NewsItem newsitem : result) { countAndNews.getGraph().get(entry.getKey()).getNews().add(newsitem.toShortString()); } } } } env.setData(countAndNews); return env; }
From source file:com.restservice.serviceLogic.ResultLogic.java
License:Open Source License
/** * Request handler for getting the count per hour statistic * //from www.j av a 2 s. c o m * @param id * search term index * @param lang * iso language code of the language (all languages are selected * if this parameter is null) * * @return envelope containing a status message and the number of * positive/negative tweets per hour * @throws SQLException */ public Envelope getSentimentPerHour(Long id, String lang) throws SQLException { SentimentPerQueryPerDate data; Envelope env = new Envelope(); // TODO: Filling these zeros shouldn't been done three times (twice // here and once in getCountPerHour). Fix it! See ticket #86 data = transactor.getSentimentPerHour(id, lang); ArrayList<LocalDateTime> oldDatesPositive = new ArrayList<>(); ArrayList<Integer> newCountsPositive = new ArrayList<Integer>(); ArrayList<LocalDateTime> newDatesPositive = new ArrayList<LocalDateTime>(); ArrayList<LocalDateTime> oldDatesNegative = new ArrayList<>(); ArrayList<Integer> newCountsNegative = new ArrayList<Integer>(); ArrayList<LocalDateTime> newDatesNegative = new ArrayList<LocalDateTime>(); // Reset minutes, seconds and miliseconds to 0 if (!data.getPositiveCounts().getDates().isEmpty()) { for (LocalDateTime curDate : data.getPositiveCounts().getDates()) { oldDatesPositive.add(new LocalDateTime(curDate.getYear(), curDate.getMonthOfYear(), curDate.getDayOfMonth(), curDate.getHourOfDay(), 0)); } } if (!data.getNegativeCounts().getDates().isEmpty()) { for (LocalDateTime curDate : data.getNegativeCounts().getDates()) { oldDatesNegative.add(new LocalDateTime(curDate.getYear(), curDate.getMonthOfYear(), curDate.getDayOfMonth(), curDate.getHourOfDay(), 0)); } } // Get first date from both (positive or negative) and fill the // other one with leading zero counts if (!oldDatesPositive.isEmpty() && !oldDatesNegative.isEmpty()) { // The first positive date is earlier than the first negative // date if (oldDatesPositive.get(0).compareTo(oldDatesNegative.get(0)) == -1) { LocalDateTime curDate = oldDatesPositive.get(0); while (!curDate.equals(oldDatesNegative.get(0))) { newCountsNegative.add(0); newDatesNegative.add(curDate); curDate = curDate.plusHours(1); } } // The first negative date is earlier than the first positive // date else if (oldDatesPositive.get(0).compareTo(oldDatesNegative.get(0)) == 1) { LocalDateTime curDate = oldDatesNegative.get(0); while (!curDate.equals(oldDatesPositive.get(0))) { newCountsPositive.add(0); newDatesPositive.add(curDate); curDate = curDate.plusHours(1); } } } // Fill hours that have 0 counts for positive tweets if (!oldDatesPositive.isEmpty()) { newDatesPositive.add(oldDatesPositive.get(0)); newCountsPositive.add(data.getPositiveCounts().getCounts().get(0)); for (int i = 1; i < oldDatesPositive.size(); i++) { if (!oldDatesPositive.get(i - 1).plusHours(1).equals(oldDatesPositive.get(i))) { LocalDateTime startDate = oldDatesPositive.get(i - 1); LocalDateTime endDate = oldDatesPositive.get(i); while (!startDate.equals(endDate)) { startDate = startDate.plusHours(1); if (startDate.equals(endDate)) { newDatesPositive.add(oldDatesPositive.get(i)); newCountsPositive.add(data.getPositiveCounts().getCounts().get(i)); } else { newCountsPositive.add(0); newDatesPositive.add(startDate); } } } else { newDatesPositive.add(oldDatesPositive.get(i)); newCountsPositive.add(data.getPositiveCounts().getCounts().get(i)); } } } // Fill hours that have 0 counts for negative tweets if (!oldDatesNegative.isEmpty()) { newDatesNegative.add(oldDatesNegative.get(0)); newCountsNegative.add(data.getNegativeCounts().getCounts().get(0)); for (int i = 1; i < oldDatesNegative.size(); i++) { if (!oldDatesNegative.get(i - 1).plusHours(1).equals(oldDatesNegative.get(i))) { LocalDateTime startDate = oldDatesNegative.get(i - 1); LocalDateTime endDate = oldDatesNegative.get(i); while (!startDate.equals(endDate)) { startDate = startDate.plusHours(1); if (startDate.equals(endDate)) { newDatesNegative.add(oldDatesNegative.get(i)); newCountsNegative.add(data.getNegativeCounts().getCounts().get(i)); } else { newCountsNegative.add(0); newDatesNegative.add(startDate); } } } else { newDatesNegative.add(oldDatesNegative.get(i)); newCountsNegative.add(data.getNegativeCounts().getCounts().get(i)); } } } // Fill negative with zeros when only positive exists if (!newDatesPositive.isEmpty() && newDatesNegative.isEmpty()) { for (LocalDateTime curDate : newDatesPositive) { newCountsNegative.add(0); newDatesNegative.add(curDate); } } // Fill positive with zeros when only negative exists else if (newDatesPositive.isEmpty() && !newDatesNegative.isEmpty()) { for (LocalDateTime curDate : newDatesNegative) { newCountsPositive.add(0); newDatesPositive.add(curDate); } } // Get last date from both (positive or negative) and fill the other // one with trailing zero counts if (!newDatesPositive.isEmpty() && !newDatesNegative.isEmpty()) { // The last positive date is later than the last negative date if (newDatesPositive.get(newDatesPositive.size() - 1) .compareTo(newDatesNegative.get(newDatesNegative.size() - 1)) == -1) { LocalDateTime curDate = newDatesPositive.get(newDatesPositive.size() - 1); while (!curDate.equals(newDatesNegative.get(newDatesNegative.size() - 1))) { newCountsNegative.add(0); newDatesNegative.add(curDate); curDate = curDate.plusHours(1); } } // The last negative date is later than the last positive date else if (newDatesPositive.get(newDatesPositive.size() - 1) .compareTo(newDatesNegative.get(newDatesNegative.size() - 1)) == 1) { LocalDateTime curDate = newDatesNegative.get(newDatesNegative.size() - 1); while (!curDate.equals(newDatesPositive.get(newDatesPositive.size() - 1))) { newCountsPositive.add(0); newDatesPositive.add(curDate); curDate = curDate.plusHours(1); } } } data.getPositiveCounts().setCounts(newCountsPositive); data.getPositiveCounts().setDates(newDatesPositive); data.getPositiveCounts().updateDateStrings(); data.getNegativeCounts().setCounts(newCountsNegative); data.getNegativeCounts().setDates(newDatesNegative); data.getNegativeCounts().updateDateStrings(); env.setData(data); return env; }
From source file:com.weekcalendar.sample.Sample.java
License:Apache License
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sample);//from ww w .j av a2 s .co m mDateSelectedTv = (TextView) findViewById(R.id.txt_date); mWeekCalendarFragment = (WeekCalendarFragment) getSupportFragmentManager() .findFragmentByTag(WeekCalendarFragment.class.getSimpleName()); if (mWeekCalendarFragment == null) { mWeekCalendarFragment = new WeekCalendarFragment(); Bundle args = new Bundle(); /* Must add this attribute if using ARGUMENT_NOW_BACKGROUND or ARGUMENT_SELECTED_DATE_BACKGROUND*/ args.putString(WeekCalendarFragment.ARGUMENT_PACKAGE_NAME, getApplicationContext().getPackageName()); /* IMPORTANT: Customization for week calender fragment*/ //------------------------------------------------------------------------------------------------// //sets background drawable to the selected dates - null to disable args.putString(WeekCalendarFragment.ARGUMENT_SELECTED_DATE_BACKGROUND, "bg_select"); // args.putString(WeekCalendarFragment.ARGUMENT_SELECTED_DATE_BACKGROUND, null);// disable //Sets background color to calender args.putInt(WeekCalendarFragment.ARGUMENT_CALENDER_BACKGROUND_COLOR, ContextCompat.getColor(this, R.color.md_deep_purple_500)); // Sets text color for the selected date // args.putInt(WeekCalendarFragment.ARGUMENT_SELECTED_DATE_HIGHLIGHT_COLOR // , ContextCompat.getColor(this, R.color.md_pink_200)); // Adds N weeks from the current week (53 or 52 week is one year) args.putInt(WeekCalendarFragment.ARGUMENT_WEEK_COUNT, 1000); // Cancels date picker args.putBoolean(WeekCalendarFragment.ARGUMENT_DISPLAY_DATE_PICKER, false); // Sets background resource drawable to nowView // args.putString(WeekCalendarFragment.ARGUMENT_NOW_BACKGROUND,"bg_now"); // Sets text color to the current date // args.putInt(WeekCalendarFragment.ARGUMENT_CURRENT_DATE_TEXT_COLOR // , ContextCompat.getColor(this, R.color.md_green_500)); // Sets color to the primary views (Month name and dates) // args.putInt(WeekCalendarFragment.ARGUMENT_PRIMARY_TEXT_COLOR // , ContextCompat.getColor(this,R.color.md_yellow_500)); // Sets text size of dates // args.putInt(WeekCalendarFragment.ARGUMENT_DAY_TEXT_SIZE, 18); // // Sets typeface style of date texts // args.putInt(WeekCalendarFragment.ARGUMENT_DAY_TEXT_STYLE, Typeface.BOLD_ITALIC); // // Sets color to the secondary views (now view and week names) /* args.putInt(WeekCalendarFragment.ARGUMENT_SECONDARY_TEXT_COLOR , ContextCompat.getColor(this,R.color.md_green_500));*/ // Sets typeface size of secondary text views (now view and week names) // args.putInt(WeekCalendarFragment.ARGUMENT_SECONDARY_TEXT_SIZE, 18); // Sets typeface style of secondary text views (now view and week names) // args.putInt(WeekCalendarFragment.ARGUMENT_SECONDARY_TEXT_STYLE, Typeface.ITALIC); // Picks between three or one date header letters ex. "Sun" or "S" // two options: // 1. WeekCalendarOptions.DAY_HEADER_LENGTH_THREE_LETTERS // 2. WeekCalendarOptions.DAY_HEADER_LENGTH_ONE_LETTER args.putString(WeekCalendarFragment.ARGUMENT_DAY_HEADER_LENGTH, WeekCalendarOptions.DAY_HEADER_LENGTH_THREE_LETTERS); // Days that have events ArrayList<Calendar> eventDays = new ArrayList<>(); eventDays.add(Calendar.getInstance()); eventDays.add(Calendar.getInstance()); eventDays.add(Calendar.getInstance()); eventDays.get(1).add(Calendar.DAY_OF_MONTH, 1); eventDays.get(2).add(Calendar.WEEK_OF_MONTH, 1); args.putSerializable(WeekCalendarFragment.ARGUMENT_EVENT_DAYS, eventDays); // Sets the color of event dots // 5 options: // 1. WeekCalendarOptions.EVENT_COLOR_YELLOW, 2. WeekCalendarOptions.EVENT_COLOR_BLUE // 3. WeekCalendarOptions.EVENT_COLOR_GREEN, 4. WeekCalendarOptions.EVENT_COLOR_RED // 5. WeekCalendarOptions.EVENT_COLOR_WHITE args.putString(WeekCalendarFragment.ARGUMENT_EVENT_COLOR, WeekCalendarOptions.EVENT_COLOR_YELLOW); //------------------------------------------------------------------------------------------------// mWeekCalendarFragment.setArguments(args); // Attach to the activity FragmentTransaction t = getSupportFragmentManager().beginTransaction(); t.replace(R.id.container, mWeekCalendarFragment, WeekCalendarFragment.class.getSimpleName()); t.commit(); } CalenderListener listener = new CalenderListener() { @Override public void onSelectPicker() { //User can use any type of pickers here the below picker is only Just a example DatePickerDialog .newInstance(Sample.this, Calendar.getInstance().get(Calendar.YEAR), Calendar.getInstance().get(Calendar.MONTH), Calendar.getInstance().get(Calendar.DAY_OF_MONTH)) .show(getFragmentManager(), "datePicker"); } @Override public void onSelectDate(LocalDateTime mSelectedDate) { //callback when a date is selcted mDateSelectedTv.setText("" + mSelectedDate.getDayOfMonth() + "-" + mSelectedDate.getMonthOfYear() + "-" + mSelectedDate.getYear()); } }; //setting the listener mWeekCalendarFragment.setCalenderListener(listener); mWeekCalendarFragment.setPreSelectedDate(Calendar.getInstance()); }
From source file:com.weekcalendar.utils.CalUtil.java
License:Open Source License
public static boolean isSameDay(LocalDateTime day1, LocalDateTime day2) { return day1 != null && day2 != null && day1.getYear() == day2.getYear() && day1.getMonthOfYear() == day2.getMonthOfYear() && day1.getDayOfMonth() == day2.getDayOfMonth(); }
From source file:com.weekcalendar.utils.CalUtil.java
License:Open Source License
/** * Initial calculation of the week/*from w w w . j a v a 2 s. c o m*/ */ public void calculate(Context mContext) { //Initializing JodaTime JodaTimeAndroid.init(mContext); //Initializing Start with current month final LocalDateTime currentDateTime = new LocalDateTime(); setStartDate(currentDateTime.getYear(), currentDateTime.getMonthOfYear(), currentDateTime.getDayOfMonth()); int weekGap = CalUtil.mDateGap(currentDateTime.dayOfWeek().getAsText().substring(0, 3).toLowerCase()); if (weekGap != 0) { //if the current date is not the first day of the week the rest of days is added //Calendar set to the current date Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, -weekGap); //now the date is weekGap days back LocalDateTime ldt = LocalDateTime.fromCalendarFields(calendar); setStartDate(ldt.getYear(), ldt.getMonthOfYear(), ldt.getDayOfMonth()); } }
From source file:com.weekcalendar.WeekFragment.java
License:Open Source License
/** * Setting date when selected from picker *///w w w. jav a 2 s .c o m public void ChangeSelector(LocalDateTime mSelectedDate) { if (mTextViewArray == null) { mDirtySelector = mSelectedDate; return; } LocalDateTime startDate = AppController.getInstance().getDate(); int addDays = mDatePosition * 7; startDate = startDate.plusDays(addDays); for (int i = 0; i < 7; i++) { if (mSelectedDate.getDayOfMonth() == startDate.getDayOfMonth()) { setSelectedDateBackground(mTextViewArray[i]); } startDate = startDate.plusDays(1); } }
From source file:control.EmprestimoController.java
private static TableModel UpdateTablemodel(TableModel tb) { LocalDateTime hoje = new LocalDateTime(System.currentTimeMillis()); for (int i = 0; i < tb.getRowCount(); i++) { String in = tb.getValueAt(i, 3).toString(); String out = tb.getValueAt(i, 4).toString(); LocalDateTime inicio = new LocalDateTime(in); LocalDateTime fim = new LocalDateTime(out); tb.setValueAt("" + inicio.getDayOfMonth() + "/" + inicio.getMonthOfYear() + "/" + inicio.getYear() + "", i, 3);//from w w w .j a va 2 s. c o m tb.setValueAt("" + fim.getDayOfMonth() + "/" + fim.getMonthOfYear() + "/" + fim.getYear() + "", i, 4); Period p = new Period(hoje, fim); int dias = p.getDays(); int horas = p.getHours(); int month = p.getMonths(); //System.out.println(dias+":"+horas+" :: ENTRE AS DATAS "+fim.toString()+" :: "+hoje.toString()); if (dias < 1) { if (dias == 0) { tb.setValueAt("Atraso " + horas * -1 + "h", i, 5); if (horas > 0) tb.setValueAt("Restam " + horas + "h", i, 5); } else tb.setValueAt("Atraso " + dias * -1 + "d:" + horas * -1 + "h", i, 5); } /*else if (month >= 0) tb.setValueAt("Restam "+dias+"d:"+horas+"h", i, 5); else tb.setValueAt("Restam "+month+" meses", i, 5); */ } return tb; }