/** * Show the board index for the user. * * @return Response */ public function getContribute() { $devStart = new Carbon(static::$ContributeProjectStart); $devCarbon = new Carbon(static::$ContributePublicStart); $devTimeSum = 0; $devTimer = "0 hours"; $donorGroups = Payment::getDonorGroups(); $donorWeights = ['uber' => 25, 'plat' => 20, 'gold' => 15, 'silver' => 10, 'bronze' => 10]; foreach ($donorGroups as $donorGroup) { foreach ($donorGroup as $donor) { // Add the amount to the dev timer. $devTimeSum += $donor->amount; } } // Determine the time in a literal string. $devHours = 0; $devDays = 0; $devInflation = static::$ContributeDevInflation; // This inflation factor will make the dev timer reflect off hours too, on the assumption of a 40 hour work week. $devTime = $devTimeSum / 100 / (double) env('CONTRIB_HOUR_COST', 10) * $devInflation; $devCarbon->addHours($devTime); $devDays = $devCarbon->diffInDays(); $devHours = $devCarbon->diffInHours() - $devDays * 24; if ($devHours > 0 || $devDays > 0) { $devTimer = ""; if ($devDays > 0) { if ($devDays != 1) { $devTimer .= "{$devDays} days"; } else { $devTimer .= "{$devDays} day"; } if ($devHours > 0) { $devTimer .= " and "; } } if ($devHours > 0) { if ($devHours != 1) { $devTimer .= "{$devHours} hours"; } else { $devTimer .= "{$devHours} hour"; } } } return $this->view(static::VIEW_CONTRIBUTE, ["devCarbon" => $devCarbon, "devTimer" => $devTimer, "devStart" => $devStart, "donations" => $devTimeSum, "donors" => $donorGroups, "donorWeight" => $donorWeights]); }
public function show($id) { $member = Member::find($id); $birthDate = $member->birthday; $birthDate = explode("-", $birthDate); $member->age = Carbon::createFromDate($birthDate[0], $birthDate[1], $birthDate[2])->age; $meses = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"); $dias = array("Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado"); $currentdate = Carbon::today(); $sumaAffiliations = $member->affiliations->sum('price'); $affiliations = $member->affiliations; $affiliationActives = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member->id)->where('finalization', '>=', $currentdate)->get(); $affiliationInactives = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member->id)->where('finalization', '<', $currentdate)->get(); $member->affiliations = $affiliationActives; if ($affiliationActives->first() != null) { $memshipactiva = $affiliationActives->last(); $initiation = new Carbon($memshipactiva->initiation); $finalization = new Carbon($memshipactiva->finalization); $corrido = $initiation->diffInDays($currentdate); if ($initiation->lt($currentdate)) { $diference = $initiation->diffInDays($finalization); $porcentaje = $corrido / $diference * 100; } else { $porcentaje = 0; } $memshipactiva->porcentaje = $porcentaje; } else { $memshipactiva = null; } $saldo = $sumaAffiliations - $member->payments->sum('amount'); $member->saldo = $saldo; $member->sumaPagos = $member->payments->sum('amount'); $member->sumaAffiliations = $sumaAffiliations; if ($member->sumaPagos == 0 and $sumaAffiliations == 0) { //no tiene pagos ni afiliaciones $member->difUltimoPago = -1; } elseif ($member->sumaPagos <= 0 and $sumaAffiliations > 0) { //no tiene pagos pero si tiene afiliaciones $fechaUltimoPago = \App\Affiliation::orderBy('created_at', 'asc')->where('member_id', $member->id)->first(); $fechaUltimoPago = new Carbon($fechaUltimoPago->created_at); $difUltimoPago = $fechaUltimoPago->diffInDays($currentdate); $member->difUltimoPago = $difUltimoPago; } elseif ($member->sumaPagos > 0 and $sumaAffiliations > 0) { // tiene afiliaciones y pagos $fechaUltimoPago = new Carbon($member->payments->first()->created_at); $difUltimoPago = $fechaUltimoPago->diffInDays($currentdate); $member->difUltimoPago = $difUltimoPago; } return view('member.show', ['member' => $member, 'meses' => $meses, 'dias' => $dias, 'activa' => $memshipactiva, 'inactivas' => $affiliationInactives]); }
/** * Gets the number of days that a date range spans. * * This is not possible, for obvious reasons, on open ended or open start date ranges. * * @throws Exception * * @return int */ public function days() { if ($this->isOpenEnded() || $this->isOpenStarted()) { throw new Exception('The number of days within a range cannot be calculated for ranges that are open ended or open started.'); } return $this->after->diffInDays($this->before); }
public function dateRange() { $start = new Carbon(Input::get('start')); $end = new Carbon(Input::get('end')); $diff = $start->diffInDays($end); if ($diff > 50) { Session::flash('warning', $diff . ' days of data may take a while to load.'); } Session::put('start', $start); Session::put('end', $end); }
public function getProcessDaysAttribute() { $days = 0; if ($this->state === 'PR') { $dt = new Carbon($this->updated_at); $days = $dt->diffInDays($this->created_at); } else { $now = new Carbon(); $days = $now->diffInDays($this->created_at); } return $days; }
public function proyectosempresa() { $proyectos = $this->user->proyectos; $now = Carbon::now(); $i = 0; foreach ($proyectos as $proyecto) { $proyecto["pruebas"] = Prueba::where('proyecto_id', $proyecto["id"])->get(); $proyectos[$i]["resultados"] = Resultado::where('proyecto_id', $proyecto["id"])->get(); $created = new Carbon($proyecto["created_at"]); $last = $created->diffInDays($now); $i++; } $personal = Personal::where('user_id', $this->user->id)->get(); if (count($proyectos) == 0) { $last = 10; } return view('proyectos', compact('proyectos', 'last', 'personal')); }
/** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create($member_id) { $memberships = Membership::all()->lists('description', 'id'); $membershipsAll = Membership::all(); $member = Member::find($member_id); $rangeArray = array(); $rangeDates = \App\Affiliation::orderBy('finalization', 'DEC')->where('member_id', $member_id)->where('finalization', '>=', Carbon::now())->get(); foreach ($rangeDates as $range) { $initiationRange = new Carbon($range->initiation); $finalizationRange = new Carbon($range->finalization); $diference = $initiationRange->diffInDays($finalizationRange); for ($i = 0; $i <= $diference; $i++) { array_unshift($rangeArray, "'" . $initiationRange->copy()->format('Y-m-d') . "'"); $initiationRange->addDay(); } } return view('affiliation.create')->with('memberships', $memberships)->with('membershipsAll', $membershipsAll)->with('member', $member)->with('affiliationRange', $rangeArray); }
/** * Saves new vacation entry to database and returns status in json response * * @TODO: move logic out of controller * * @param Request $request * @return array */ public function save(Request $request) { $employee = $this->employee->find($request->input('employee_id')); $vacationStart = new Carbon($request->input('start')); $vacationEnd = new Carbon($request->input('end')); $duration = $vacationStart->diffInDays($vacationEnd); if ($duration > $employee->vacationsLeft || $vacationEnd <= $vacationStart) { return ['status' => 403]; } $overlapingVacations = $employee->vacations()->where('end', '>', $vacationStart)->where('start', '<', $vacationEnd)->get(); if (!$overlapingVacations->isEmpty()) { return ['status' => 403]; } $vacation = $this->vacation->create($request->all()); $vacation->duration = $duration; if ($vacation->save()) { return ['status' => 200]; } return ['status' => 500]; }
/** * @param Request $request */ public function dateRange(Request $request) { $start = new Carbon($request->get('start')); $end = new Carbon($request->get('end')); $label = $request->get('label'); $isCustomRange = false; Log::debug('Received dateRange', ['start' => $request->get('start'), 'end' => $request->get('end'), 'label' => $request->get('label')]); // check if the label is "everything" or "Custom range" which will betray // a possible problem with the budgets. if ($label === strval(trans('firefly.everything')) || $label === strval(trans('firefly.customRange'))) { $isCustomRange = true; Log::debug('Range is now marked as "custom".'); } $diff = $start->diffInDays($end); if ($diff > 50) { Session::flash('warning', strval(trans('firefly.warning_much_data', ['days' => $diff]))); } Session::put('is_custom_range', $isCustomRange); Session::put('start', $start); Session::put('end', $end); }
/** * Statistics for how long the repository has been active * * @return array */ public function activeFor() { $firstCommitDate = new Carbon($this->repository->getFirstCommitDate()); $lastCommitDate = new Carbon($this->repository->getLastCommitDate()); return array('title' => 'Active for', 'value' => number_format($firstCommitDate->diffInDays($lastCommitDate)) . " days"); }
/** * Returns an array with the current date and the date minus the number of days specified. * * @param array $urls * @param Carbon $startDate * @param Carbon $endDate * * @return array */ private function getEmptyDateRangeData($urls, $startDate, $endDate) { $data = []; // Difference in days $numberOfDays = $startDate->diffInDays($endDate); // Create date range array $range = []; for ($i = 0; $i < $numberOfDays; $i++) { $day = $startDate->addDay()->format('U') * 1000; $range[$day] = 0; } // Add ranges to data foreach ($urls as $url) { $data[$url] = $range; } return $data; }
public function financingSuccess() { $financeArray = Input::get('financeArray'); $financingDate = Input::get('financingDate'); $fundingDate = new Carbon($financingDate); $lastBill = Bill::orderBy('bill_date', 'desc')->first(); if (count($lastBill) > 0) { $lastBillCarbon = new Carbon($lastBill->bill_date); $diffBillsDate = $lastBillCarbon->diffInDays($fundingDate, false); } else { $diffBillsDate = 1; } $messageArray = []; foreach ($financeArray as $key) { $finance = Finance::find($key); $registryDate = new Carbon($finance->date_of_registry); $diffDate = $registryDate->diffInDays($fundingDate, false); if ($diffBillsDate > 0) { if ($diffDate >= 0) { if ($finance->type_of_funding === 'Первый платеж') { $deliveryToFinances = $finance->deliveryToFinance; //проверка лимита $relation = $deliveryToFinances->first()->delivery->relation; $usedLimit = 0; $usedLimit = $relation->deliveries()->where('state', false)->where('status', 'Профинансирована')->sum('balance_owed'); $limit = $relation->limit; if ($limit) { $limitValue = $limit->value; $freeLimit = $limitValue - $usedLimit; if ($finance->sum <= $freeLimit) { $finance->date_of_funding = $financingDate; $finance->status = 'Подтверждено'; if ($finance->save()) { foreach ($deliveryToFinances as $deliveryToFinance) { $delivery = $deliveryToFinance->delivery; $delivery->date_of_funding = $financingDate; $delivery->status = 'Профинансирована'; // $delivery->stop_commission = true; $delivery->save(); } } $callback = 'success'; $messageShot = 'Успешно!'; $message = 'Финансирование для клиента ' . $finance->client . ' подтверждено'; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot, 'type' => true, 'data' => $key]); } else { $callback = 'danger'; $messageShot = 'Ошибка!'; $message = 'Превышен лимит для связи. Клиент: ' . $relation->client->name . ' и Дебитор: ' . $relation->debtor->name; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot]); } } else { $callback = 'danger'; $messageShot = 'Ошибка!'; $message = 'Лимит для связи не найден. Клиент: ' . $relation->client->name . ' и Дебитор: ' . $relation->debtor->name; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot]); } } else { $finance->date_of_funding = $financingDate; $finance->status = 'Подтверждено'; $finance->save(); $callback = 'success'; $messageShot = 'Успешно!'; $message = 'Финансирование для клиента ' . $finance->client . ' подтверждено'; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot, 'type' => false]); } } else { $callback = 'danger'; $messageShot = 'Ошибка!'; $message = 'Дата реестра превышает дату финансирования'; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot]); } } else { $callback = 'danger'; $messageShot = 'Ошибка!'; $message = 'Финансирование поставки в закрытом месяце- запрещено!'; array_push($messageArray, ['callback' => $callback, 'message' => $message, 'message_shot' => $messageShot]); } } return $messageArray; }
/** * Calcula o fator vencimento. * * @param Carbon $data * @return integer */ public static function fatorVencimento(Carbon $data) { $dataBase = new Carbon("1997-10-07"); return $data->diffInDays($dataBase); }
public function recalculateDailyCharge($repayment, $deliveryId) { $allDailyArray = []; $nds = 18; $dateNow = new Carbon(date('Y-m-d')); $dateOfRepayment = new Carbon($repayment->date); $fixedCharge = false; $delivery = Delivery::find($deliveryId); $relation = $delivery->relation; //связь $tariff = $relation->tariff; //тарифы $dateOfRepaymentClone = clone $dateOfRepayment; $dateOfFunding = new Carbon($delivery->date_of_funding); $percent_commission = $tariff->commissions->where('type', 'finance')->first(); $udz_commission = $tariff->commissions->where('type', 'udz')->first(); $penalty_commission = $tariff->commissions->where('type', 'peni')->first(); $fixed_commission = $tariff->commissions()->where('type', 'document')->first(); $dateOfRecourse = new Carbon($delivery->date_of_recourse); $dateOfRepaymentDiff = $dateOfRepayment->diffInDays($dateNow, false); $dateOfRepaymentFundingDiff = $dateOfFunding->diffInDays($dateOfRepayment, false); if ($dateOfRepaymentFundingDiff <= 0) { $fixedCharge = true; } for ($i = 0; $i < $dateOfRepaymentDiff; $i++) { $dailyArray = []; $dateNowVar = $dateOfRepaymentClone->addDays(1); $dateOfFundingDiffTest = $dateOfFunding->diffInDays($dateNowVar, false); $daysInYear = date("L", mktime(0, 0, 0, 7, 7, $dateNowVar->year)) ? 366 : 365; $actualDeferment = $dateOfRecourse->diffInDays($dateNowVar, false); //Фактическая просрочка $dailyFixed = 0; $dailyFixedNds = 0; if ($fixedCharge == true && $i == 0) { if ($fixed_commission) { $fixed_charge_w_nds = $fixed_commission->commission_value; $dailyFixed = $fixed_charge_w_nds; if ($fixed_commission->nds == true) { $fixed_charge_nds = $fixed_charge_w_nds / 100.0 * $nds; $dailyFixedNds = $fixed_charge_nds; } } } $dailyPercent = 0; $dailyPercentNds = 0; // //Процент if ($percent_commission) { //Годовые/дни $handle = $percent_commission->additional_sum; if ($percent_commission->rate_stitching == true) { $percent = $percent_commission->commission_value / $daysInYear; } else { $percent = $percent_commission->commission_value; } //От финансирование либо накладной if ($handle == true) { $dailyPercent = $delivery->balance_owed / 100.0 * $percent; } else { $dailyPercent = $delivery->remainder_of_the_debt_first_payment / 100.0 * $percent; } if ($percent_commission->nds == true) { $dailyPercentNds = $dailyPercent / 100.0 * $nds; } } $dailyUdz = 0; $dailyUdzNds = 0; if ($udz_commission) { $dayOrYear = $udz_commission->rate_stitching; //Нахождение разницы $handle = $udz_commission->additional_sum; //проверка накладной и финансирования if ($handle == true) { $waybillOrFirstPayment = $delivery->balance_owed; } else { $waybillOrFirstPayment = $delivery->remainder_of_the_debt_first_payment; } $rage = $udz_commission->commissionsRages()->where('min', '<=', $dateOfFundingDiffTest)->where(function ($query) use($dateOfFundingDiffTest) { $query->where('max', '>=', $dateOfFundingDiffTest)->orWhere('max', '=', 0); })->first(); if ($rage) { if ($dayOrYear == true) { $udz = $rage->value / $daysInYear; } else { $udz = $rage->value; } $dailyUdz = $waybillOrFirstPayment / 100.0 * $udz; //Ндс if ($udz_commission->nds == true) { $dailyUdzNds = $dailyUdz / 100.0 * $nds; } } } else { // var_dump('Коммиссии не найдено'); } // // //Пеня за просрочку $dailyDeferment = 0; $dailyDefermentNds = 0; if ($penalty_commission) { $dayOrYear = $penalty_commission->rate_stitching; //Нахождение разницы if ($actualDeferment > 0) { $rage = $penalty_commission->commissionsRages()->where('min', '<=', $actualDeferment)->where(function ($query) use($actualDeferment) { $query->where('max', '>=', $actualDeferment)->orWhere('max', '=', 0); })->first(); if ($rage) { $handle = $penalty_commission->additional_sum; //проверка накладной и финансирования if ($handle == true) { $waybillOrFirstPayment = $delivery->balance_owed; } else { $waybillOrFirstPayment = $delivery->remainder_of_the_debt_first_payment; } if ($dayOrYear == true) { $penalty = $rage->value / $daysInYear; } else { $penalty = $rage->value; } $dailyDeferment = $waybillOrFirstPayment / 100.0 * $penalty; //Ндс if ($penalty_commission->nds == true) { $dailyDefermentNds = $dailyDeferment / 100.0 * $nds; } } //диапазон } //просрочка меньше нуля } $daily_without_nds = $dailyFixed + $dailyPercent + $dailyUdz + $dailyDeferment; $daily_nds = $dailyFixedNds + $dailyPercentNds + $dailyUdzNds + $dailyDefermentNds; $daily_with_nds = $daily_without_nds + $daily_nds; $dailyArray = ['dailyFixed' => $dailyFixed, 'dailyFixedNds' => $dailyFixedNds, 'dailyPercent' => $dailyPercent, 'dailyPercentNds' => $dailyPercentNds, 'dailyUdz' => $dailyUdz, 'dailyUdzNds' => $dailyUdzNds, 'dailyDeferment' => $dailyDeferment, 'dailyDefermentNds' => $dailyDefermentNds, 'dailyWithoutNds' => $daily_without_nds, 'dailyNds' => $daily_nds, 'dailyWithNds' => $daily_with_nds, 'dateNow' => $dateNowVar->format('Y-m-d')]; $this->createDailyCharge($dailyArray, $delivery->id, $repayment->id, false); } //цикл }
public function scopeCalcDaysOpen($query, $created) { $created = new Carbon($created); $now = Carbon::now(); if ($created->diff($now, false)->days < 0) { return 1; } else { //return "?"; //return $created->diffInDays($now, false); return $created->diff($now, false)->days < 1 ? '1' : $created->diffInDays($now); } //return ($created->diff($now, false)->days < 0) ? '1' : $created->diffInDays($now); }
public function getDeadLineDifference(Info $info, Carbon $f_deadline, Carbon $l_deadline) { // Get first and last deadlines difference in days $days = $f_deadline->diffInDays($l_deadline); $c = 0; for ($m = 0; $m < $days; $m++) { $current = $f_deadline->addDay(1); // If the day after first deadline is not Saturday or Sunday, count as 1 working day if ($current->dayOfWeek != Carbon::SATURDAY && $current->dayOfWeek != Carbon::SUNDAY) { $c += 1; } } return $c; }
public function sendEmailContact(Request $request) { $email = userAdmin::where('identidad', $request->identidad)->first(); $ent = entidadTuristica::where('rif', $request->identidad)->first(); $camas = new camas(); $hab = new habitacion(); $email = $email->email; // Buscando habitaciones para el email de respaldo de la persona // todo este codigo deberia estar en una función aparte -- mejorar modularidad en codigo para futuros proyectos. $legalMessage = ""; $f = ""; $f2 = ""; if ($ent->tipoentidad == "Hotel") { $habitaciones = habitacion::where('identidad', $request->identidad)->get(); $camas = $camas->camasPorHabitacion($habitaciones); $habitaciones = $hab->serviciosOrdenados($habitaciones); $desde = Carbon::now(); $desdeInicio = Carbon::create($desde->year, $desde->month, 1); $desdeFin = Carbon::create($desde->year, $desde->month, $desde->daysInMonth); $desdeInicio = $desdeInicio->toDateString(); $desdeFin = $desdeFin->toDateString(); $dias = 1; $legalMessage = "NOTA: Las tarifas son validas desde el " . $desdeInicio . " hasta el " . $desdeFin . " y las mismas estan sujetas a cambios."; if (Session::has('fecha')) { $fecha = explode(" - ", Session::get('fecha')); $f = new Carbon($fecha[0]); $f2 = new Carbon($fecha[1]); $dias = $f->diffInDays($f2); $query = " SELECT idperfilhabitacion FROM habitacionesperfil WHERE id NOT IN ( SELECT disponibilidad.idhabitacion from disponibilidad WHERE (estado = 'Habilitado')\n AND ((disponibilidad.fecha_inicio BETWEEN '" . $fecha[0] . "' AND '" . $fecha[1] . "')\n OR (disponibilidad.fecha_fin BETWEEN '" . $fecha[0] . "' AND '" . $fecha[1] . "')\n OR ( ('" . $fecha[0] . "' >= disponibilidad.fecha_inicio) AND ('" . $fecha[1] . "' <= disponibilidad.fecha_fin) ) ) ) "; $search = DB::select(DB::raw($query)); $arraySearch = []; foreach ($search as $s) { array_push($arraySearch, $s->idperfilhabitacion); } foreach ($habitaciones as $h) { $h['disponible'] = in_array($h->id, $arraySearch); } } foreach ($habitaciones as $h) { $h['total'] = $dias * $h['tarifa']; } } else { $habitaciones = null; } $data = ['nombre' => $request->nombre, "email" => $request->email, "telefono" => $request->telefono, "mensaje" => $request->mensaje]; $data2 = ['habitaciones' => $habitaciones, 'legalMessage' => $legalMessage, 'nombreEntidad' => $ent->nombre, 'f' => $f->toDateString(), 'f2' => $f2->toDateString()]; $response; $statusCode; try { Mail::send('emails.contacto', $data, function ($message) use($email) { $message->from(env('MAIL_USERNAME'), 'AppHoteles'); $message->subject('Contacto - AppHoteles'); // Aqui iria el titulo... $message->to($email); }); Mail::send('emails.usuarioContacto', $data2, function ($message) use($request) { $message->from(env('MAIL_USERNAME'), 'AppHoteles'); $message->subject('Contacto - AppHoteles'); // Aqui iria el titulo... $message->to($request->email); }); $response = ['success' => true, 'message' => 'Email enviado.']; $statusCode = 200; } catch (Exception $e) { $response = ["error" => $e->getMessage()]; $statusCode = 400; } finally { return Response::json($response, $statusCode); } }
public function setDeliveries($dateNowVar) { $deliveries = Delivery::where('state', false)->get(); foreach ($deliveries as $delivery) { //Сегодняшнее число $dateOfRecourse = new Carbon($delivery->date_of_recourse); $actualDeferment = $dateOfRecourse->diffInDays($dateNowVar, false); //Фактическая просрочка $delivery->the_actual_deferment = $actualDeferment; $delivery->save(); } }
<?php require_once 'vendor/autoload.php'; use Carbon\Carbon; use Citco\Carbon as CitcoCarbon; use CarbonExt\FiscalYear\Calculator; // Object Instantiation $brisbane = new Carbon('2015-12-01', 'Australia/Brisbane'); $newYorkCity = new Carbon('2015-12-01', 'America/New_York'); $dtBerlin = new Carbon('2015-12-01', 'Europe/Berlin'); $outputString = "Time difference between %s & %s: %s hours.\n"; // Date difference printf($outputString, "Berlin", "Brisbane, Australia", $dtBerlin->diffInHours($brisbane, false)); printf($outputString, "Berlin", "New York City, America", $dtBerlin->diffInHours($newYorkCity, false)); $septEighteen2014 = Carbon::createFromDate(2014, 9, 18, $dtBerlin->getTimezone()); printf("difference between now and %s in \n\thours: %d, \n\tdays: %d, \n\tweeks: %d, \n\tweekend days: %d, \n\tweek days: %s, \n\thuman readable: %s\n", $septEighteen2014->toFormattedDateString(), $dtBerlin->diffInHours($septEighteen2014), $dtBerlin->diffInDays($septEighteen2014), $dtBerlin->diffInWeeks($septEighteen2014), $dtBerlin->diffInWeekendDays($septEighteen2014), $dtBerlin->diffInWeekDays($septEighteen2014), $dtBerlin->diffForHumans($septEighteen2014)); // Date formatting echo $dtBerlin->toDateString() . "\n"; echo $dtBerlin->toFormattedDateString() . "\n"; echo $dtBerlin->toTimeString() . "\n"; echo $dtBerlin->toDateTimeString() . "\n"; echo $dtBerlin->toDayDateTimeString() . "\n"; echo $dtBerlin->toRfc1036String() . "\n"; echo $dtBerlin->toAtomString() . "\n"; echo $dtBerlin->toCookieString() . "\n"; echo $dtBerlin->toRssString() . "\n"; $dtBerlin->setToStringFormat('l jS \\of F Y'); echo $dtBerlin . "\n"; echo (int) $dtBerlin->isLeapYear() . "\n"; // is* range of functions test printf("Is yesterday? %s\n", $dtBerlin->isYesterday() ? "yes" : "no");
/** * Update the specified transaction in storage. * * @param int $id * @return Response */ public function update($id) { $transaction = Transaction::find($id); $transactions = $transaction->getRecurringTransactions; $validator = Validator::make($data = Input::all(), Transaction::$rules); if ($validator->fails()) { $alert[] = ['class' => 'alert-danger', 'message' => '<strong><i class="fa fa-warning"></i></strong> Erro!']; Session::flash('alerts', $alert); return Redirect::back()->withErrors($validator)->withInput(); } // DONE (bug fix) if (isset($data['done']) and !empty($data['done'])) { $data['done'] = 1; } else { $data['done'] = 0; } // AMOUNT Format if (!isset($data['amount'])) { $data['amount'] = $transaction->amount; } else { $data['amount'] = number_format($data['amount'], '2', '.', ''); // $data['amount'] = str_replace('.', '', $data['amount'] ); // $data['amount'] = str_replace(',', '.', $data['amount'] ); // $data['amount'] = str_replace('-', '', $data['amount'] ); // TIRA O "-" } if ($data['type'] == 'despesa') { if (@$data['amount'] > 0) { $data['amount'] = 0 - $data['amount']; // Deixa o número negativo } } /** * APLLY CHANGES TO... */ // CATEGORIA $category = Category::where('name', '=', @$data['category'])->first(); if (!$category) { // cria se não existir $category = Category::create(['name' => isset($data['category']) ? ucfirst($data['category']) : "", 'owner_type' => 'transaction']); } $data['apply_changes_to'] = isset($data['apply_changes_to']) ? $data['apply_changes_to'] : 'this'; switch ($data['apply_changes_to']) { case 'next': /** * SOMENTE PRÓXIMOS * @var [type] */ $transactions = $transactions->filter(function ($t) use($transaction) { if ($t->date >= $transaction->date) { return $t; } }); break; case 'unpaid': $transactions = $transactions->filter(function ($t) use($transaction) { if ($t->done != 1) { return $t; } }); break; case 'all': break; default: // THIS $transactions = $transactions->filter(function ($t) use($transaction) { if ($t->id == $transaction->id) { return $t; } }); // IF NO RECURRING $transaction->description = $data['description']; $transaction->amount = $data['amount']; $transaction->date = $data['date']; $transaction->type = $data['type']; $transaction->done = $data['done']; $transaction->category_id = $category->id; $transaction->save(); break; } // echo "<pre>Data:"; // print_r($data); // echo "</pre>"; // echo "<pre>Current transaction:"; // print_r($transaction->toArray()); // echo "</pre>"; // echo "<pre>Alterar:"; // print_r($transactions->toArray()); // echo "</pre>"; // exit; /** * APLICA ALTERAÇÔES EM TODOS ITENS JA FILTRADOS */ $transaction_date = new Carbon($transaction->date); $new_date = new Carbon($data['date']); $diff_in_days = $transaction_date->diffInDays($new_date, false); foreach ($transactions as $t) { $t->description = $data['description']; $t->amount = $data['amount']; $t->type = $data['type']; $t->done = $data['done']; $t->category_id = $category->id; $t->date = (new Carbon($t->date))->addDays($diff_in_days)->format('Y-m-d'); $t->recurring_times = $transactions->count(); $t->category_id = $category->id; $t->save(); } $alert[] = ['class' => 'alert-success', 'message' => '<strong><i class="fa fa-check"></i></strong> Lançamento atualizado!']; Session::flash('alerts', $alert); return Redirect::to(URL::previous()); }
/** * Get the difference between start and end dates of the period in days. * * @return int */ public function lengthInDays() { return $this->startDate->diffInDays($this->endDate); }
public static function date(Carbon $date) { if ($date->diffInDays(Carbon::now()) < 7) { return $date->diffForHumans(); } else { return $date->toFormattedDateString(); } }
public function getProfile($userid) { $user = User::find($userid); if (count($user) >= 1) { $updated = new Carbon($user->updated_at); $now = Carbon::now(); if ($updated->diff($now)->m < 1) { $lastOnline = "Last seen less than a minute ago"; } elseif ($updated->diff($now)->h < 1) { $lastOnline = $updated->diffInMinutes($now) > 1 ? sprintf("Last seen %d minutes ago", $updated->diffInMinutes($now)) : sprintf("Last seen %d minute ago", $updated->diffInMinutes($now)); } elseif ($updated->diff($now)->d < 1) { $lastOnline = $updated->diffInHours($now) > 1 ? sprintf("Last seen %d hours ago", $updated->diffInHours($now)) : sprintf("Last seen %d hour ago", $updated->diffInHours($now)); } elseif ($updated->diff($now)->d < 7) { $lastOnline = $updated->diffInDays($now) > 1 ? sprintf("Last seen %d days ago", $updated->diffInDays($now)) : sprintf("Last seen %d day ago", $updated->diffInDays($now)); } elseif ($updated->diff($now)->m < 1) { $lastOnline = $updated->diffInWeeks($now) > 1 ? sprintf("Last seen %d weeks ago", $updated->diffInWeeks($now)) : sprintf("Last seen %d week ago", $updated->diffInWeeks($now)); } elseif ($updated->diff($now)->y < 1) { $lastOnline = $updated->diffInMonths($now) > 1 ? sprintf("Last seen %d months ago", $updated->diffInMonths($now)) : sprintf("Last seen %d month ago", $updated->diffInMonths($now)); } else { $lastOnline = $updated->diffInYears($now) > 1 ? sprintf("Last seen %d years ago", $updated->diffInYears($now)) : sprintf("Last seen %d year ago", $updated->diffInYears($now)); } return view('dashboard.userProfile', ['user' => $user, 'lastOnline' => $lastOnline]); } else { return view('dashboard.userProfile'); } }