Попробуйте использовать Carbon
$d1 = \Carbon\Carbon::now()->subDays(92);
$d2 = \Carbon\Carbon::now()->subDays(10);
$days_btw = $d1->diffInDays($d2);
Также вы можете использовать
\Carbon\Carbon::parse('')
, чтобы создать объект даты Carbon с использованием заданной строкой timestamp.
Печальная действительность - то, что нетехнические люди смотрят на технических людей и ожидают, что они будут знать все, что является связанной технологией, не понимая, что существуют специализации в технологии, о которой мы ничего не могли бы знать.
Я часто думаю, что это очень похоже на доктора, который специализируется на особой дисциплине. Все врачи имеют базовую линию знания в медицинском поле, но не будут знать специфических особенностей других специализаций (кардиолог не будет знать как много об анестезиологии и наоборот).
Таким образом, в то время как я думаю, что неблагоразумно для людей ожидать, что технологи будут знать все, я действительно думаю, что разумно для них ожидать, что мы знаем что-то когда дело доходит до технологии.
Я думаю, что более важный фасет этого вопроса - то, сколько каждый, как ожидают, будет знать об определенном домене, где они применяют свои навыки (финансы, производство, и т.д., и т.д.). Я думаю, что это невероятно важно как наличие, что знания проблемной области делают их намного более ценными как программист, поскольку они могут понять проблемы на глубоком уровне и в результате предоставить более комплексные решения для них.
Это во многом зависит от типа программного обеспечения, которое Вы в настоящее время разрабатываете
Например, когда я работал над программным обеспечением для местного органа власти, я должен был изучить вещи как
Ну, это - просто часть непрограммирования материала, который я изучил в течение этих 2 лет на проекте. Самая неудачная вещь здесь состоит в том, что теперь, когда я переместился в другую компанию, существует очень мало шанса, что любое это знание я буду когда-либо использовать.
Моя должность является "Главным Разработчиком программного обеспечения". Фактически, в течение большинства прошлых нескольких лет, я сделал довольно мало разработки программного обеспечения, но действительно делал много из:
Системы и веб-администрирование
Статическая разработка веб-страницы с HTML (я не полагаю, что программирование, хотя я сделал PHP, CGI и JavaScript).
Поскольку другие сказали, виды справочной службы материала, хотя не так как в прошлом.
Как "лидер задачи", у меня, как ожидают, будут некоторые люди/управленческие навыки, хотя это обычно передает к писанию ежемесячных отчетов. Я также время от времени сосусь в материал CMMi, который в идеальном мире мог бы быть несколько релевантным, но является обычно просто ведением учета, таким образом, работодатель может предложить цену за новые контракты, которые требуют его.
При работе в научной лаборатории существует потребность знать часть науки, особенно если Вы хотите/нуждаетесь работать над кодом, делающим научные вычисления.
Работа в (США). правительственное средство, существует много документов и потребности знать много правительственного регулирования (например, Закон о свободе информации)
К счастью, я недавно сделал внутренний перевод, где я делаю больше технической разработки и меньше этого другого материала!
[режим напыщенной речи на] Ха, проклятие Excel и Word.
Вне работы - особенно друзья и семейство, но иногда при консалтинге или поставке программного обеспечения также, любой и все нетехнические люди ожидают, что Вы поймете их. Существует то, что внутренний стон, когда кто-то спрашивает Вас через взглянуть на небольшую проблему, они имеют с некоторым фасетом Office. И потому что это - клиент, и Вы хотите казаться услужливыми, что Вы соглашаетесь.
Существует только это общее ожидание, что, потому что Вы - разработчик, у Вас есть врожденное знание конфигурирования электронных таблиц, фиксируя шаблоны Word, и любого и все другие офисные задачи техника и кроме того можно бросить взгляд на некоторый плохо настроенный Office, смешивают и немедленно диагностируют, какова проблема.
Я могу только что о суметь соединить электронную таблицу, чтобы запланировать мои повторяющиеся счета и настроить шаблон Word, чтобы записать им. Я регулярно говорю людям, что также - но никто никогда не слушает.
Вы не являетесь одними там. Положение, в котором я зарегистрировался, было "Веб-разработчиком ASP.NET"... Однако мое задание состоит из:
При нахождении в компании, которая постоянно борется за высшую "Операционную Эффективность", мой список задач только растет с каждым днем. Я не составлял тот список также. Все объекты упомянули выше, я или коснулся или поддерживал за прошлые 3 года, я работал в этой компании.
Однако в хорошем магазине разработки у Вас должна быть одна определенная задача. Как говорится, мастер на все руки... ведущее устройство ни одного.
Это часто зависит от размера компании. В небольшой компании необходимо знать, как сделать все, включая системного администратора и сетевого администратора, даже если задание фокусируется на программировании.
В крупной компании Вы добираетесь для наблюдения небольшой части вселенной, и им часто не нравитесь Вы посмотревший за пределами Вашего поля. Мало того, что Вы не должны изучать все, они часто недовольны Вами, если Вы пробуете.
Однако, чем больше Вы понимающий о машинах, как они работают, и как они функционируют в рабочей среде, тем легче диагностировать проблемы и записать лучшее программное обеспечение. Чем больше Вы понимающий о домене, для которого Вы пишете приложения, тем лучше Вы можете дифференцироваться между пользовательскими потребностями и их требованиями.
Одна из самых прохладных вещей о том, чтобы быть разработчиком программного обеспечения является Вами, имеют пожизненное оправдание за засовывание Вашего носа и в технологии и в различные бизнес-домены. Если Вы сместились вокруг в несколько различных отраслей промышленности, Вы склонны становиться перегруженными со всеми видами интересных лакомых кусочков. Существует всегда больше для изучения...
Paul.
Это зависит значительно от того, что Вы программируете. При выполнении низкоуровневых драйверов устройств жизненно важно, чтобы Вы поняли используемое оборудование. Если Вы делаете автономное приложение Java, чем лучше Вы понимаете JVM и библиотеки, которыми Вы пользуетесь, тем лучше - но не строго необходимо знать много.
В целом, чем больше Вы понимаете о своей системной среде, тем лучше. Насколько Ваши коллеги и управление ожидают, что Вы для знания зависите от них.
Незнание будет, в конечном счете, наказано. Если не Вашими коллегами и управлением, мир сделает это. Проверьте обзор заголовков или РИСКОВ любой недели на примеры, где незнание системной среды вызывает программную ошибку.
Самая сложная задача не является техническими вопросами, связанными с подъемом среды и выполнением, но знаниями проблемной области, требуемыми эффективно разработать программное обеспечение в небольшом магазине. Для меня я работаю над большим количеством различных проектов от множества источников в главным образом изолированной среде разработки. Это означает, что я должен подойти к скорости на домене проекта довольно быстро, чтобы быть эффективным при разработке решения. В прошлом я работал над печатью бухгалтерские решения, активное управление каталогом, базы данных обзора исследования и в настоящее время решение квази-CRM для благотворительной организации. Мне жаль, что я только не должен был знать основные детали установки моей среды разработки и среды сборки.
Хорошо подвергнуть себя другим технологиям, но я действительно думаю, что это - плохая идея для Вас к не, полностью раскрывают то, что Вы не эксперты в тех областях (особенно доменная установка). Я работал с людьми, которые думали, что могли сделать все это, но закончили тем, что делали те задачи так плохо, что со все время (и деньги) они потратили попытку разобраться в нем, консультанта платили бы несколько раз.
Я работал в компании, где я был ответственен за все "связанное с компьютером" включая домен, ПК, базу данных, заказное программное обеспечение, сборки, MS Office, PowerPoint, Quickbooks...; средняя компания, где это была разработка и сборки; и крупная компания, где я фокусируюсь только на коде .NET для своего проекта (кто-то еще обрабатывает базу данных и другое создание отчетов дескрипторов).
Средняя компания была лучшим опытом до сих пор (довольно новый в крупной компании), где мне дали достаточно обязанности чувствовать себя полезным и имел легкий доступ ко всем остальным для задавания вопросов о тех других задачах.
Где я работаю, все разработчики, как ожидают, смогут использовать Подверсию и иметь, чтобы смочь установить и настроить Apache и Tomcat на их ПК.
Люди вокруг места работы, вероятно, ожидают, что программист будет их парнем IT HelpDesk... это происходит здесь со мной. argh.
Это будет варьироваться значительно в зависимости от того, где Вы. Я работал с людьми, которые не знают ни один из этого материала и людей, которые являются экспертами.
Знание этого поможет Вам значительно. В целом всегда лучше понять среду, в которой работает Ваш код. Не понимание контекста оставляет Вас несколько беспомощными.
Дополнительно часто существуют ошибки, которые не являются связанным кодом, но связанная конфигурация, например, страница, не обнаруживающаяся из-за апачской конфигурации. Вы очень затрудняетесь в отладке, если Вы не понимаете среду.
Я понял, что никогда не нанимаюсь для фактического задания, но как решатель задач. Выясняю ли я то, что продолжается, и зафиксируйте его через код, или программное обеспечение или что-то в сети, это, кажется, основное восприятие того, что хотят клиенты.
Ожидаемый? Почти ничто, но общий всегда действительно счастливый, когда Вы знаете больше.
Чем больше Вы знаете вне узких ограничений о программировании, тем более ценны Вы своему работодателю.
Вещи, которые предстали передо мной:
Вероятно, зависит от размера компании, на которую Вы работаете. Как кто-то, кто работал главным образом в малых и средних компаниях, я также был ответственен за:
создание базы данных, управление, и настраивающий поддержание внутренних приложений, я запускаю руководящие сертификаты веб-сайта, настраивающие внешний хостинг и я уверен, что существует больше также
Я нахожу, что подавляющее большинство "ошибок", обнаруженных пользователями, является проблемами конфигурации с системами, в которых установлено приложение. Наличие разработчиков, которые понимают общую машину и ошибки настройки сети, очень желательно.
Например, если приложение посылает электронное письмо как часть его операции ее полезное, чтобы иметь разработчиков, хорошо осведомленных в конфигурации SMTP и DNS.
Конечно, это зависит от Вашего размера бизнеса, крупные организации могут, вероятно, экранировать разработчиков от этого при помощи других специалистов.
Я думаю навык непрограммирования, я использую большинство в своем задании программирования, пишет. Действительно крайне важно смочь объяснить идеи, проекты, алгоритмы, и так далее, и Вы никогда не можете рассчитывать на то, чтобы быть вокруг, чтобы сделать это лично (или наличие времени). Я провожу хорошее количество времени на работе, описывающей документы дизайна и другую документацию, таким образом, другие инженеры могут получить головы вокруг моего кода и алгоритмов. Таким образом, я действительно благодарен, что имел хорошие классы записи в школе и могу соединить предложение.:-)
Ну, так как основной инструмент программиста является его компьютером, я думаю, что справедливо принять некоторые экспертные знания с ним. Большинство тех видов вещей, которые Вы описали, является трудным для кого-то незнакомого с компьютерами, но довольно легкий (даже с небольшим предшествующим опытом) для кого-то, кто понимает домен и знает, как найти и прочитать документацию.
В большом, хорошо организованном бизнесе или проекте, я ожидал бы кого-то, кто был более специфически знаком с подобными административными вещами заботиться о них. Однако, если существует недостаточно из них для гарантирования работы на полную ставку, то я не думаю, что неблагоразумно иметь любого компетентная работа над ним; и программисты, вероятно, во главе очереди в том отношении.