Вчера был мой четвертый день работы в паре по клиентскому проекту, и я выступил в паре с Дэниелом. Нам пришлось изменить способ отображения даты и времени в проекте. По сути, нам пришлось изменить все даты, показанные в формате UTC, на местные даты и время.

Дэниел подумал, что задача будет сложной, поскольку в проекте использовались разные системы для форматирования даты по всему коду, и это сбивало с толку. Но, в конце концов, нам не потребовалось много времени, чтобы исправить проблему. Он представил мне концепцию Unix Epoch Time и Epoch Converter. Unix Epoch Time - это система для описания момента времени, определяемого как количество секунд, прошедших с определенной даты (точнее, с четверга, 1 января 1970 года, полуночи, которая является датой введения Unix Epoch Time).

Unix Epoch Time - удобный способ получить дату и время, поскольку они отображаются в виде числа из 6 цифр, которым можно легко управлять. 6 цифр представляют год, месяц, день, час, минуты и секунды.

Epoch Converter - это инструмент преобразования, который преобразует время unix в удобочитаемую дату в указанном выше порядке.

Итак, время unix ниже:

1518006666

соответствует:

2018-02-07 12:22:10

- дата и время, когда я пишу этот пост!

Даты в проекте отображались примерно так:

2018-02-07T12:22:10

, поэтому нам пришлось изменить код, чтобы отображаемые дата и время отображались лучше. Кроме того, нам нужно было стандартизировать все даты, возвращаемые в коде, чтобы не использовать разные системы для форматирования этих дат. Чтобы добиться этого, мы использовали объект JavaScript Date, который имеет разные конструкторы, но именно он оказался подходящим для наших целей (хотя я думаю, что мы использовали и другой конструктор, но я больше не уверен на 100%…):

new Date(Date.UTC(year, month, day, hours, minutes, seconds);

Так, например, ниже:

var utcDate1 = new Date(Date.UTC(2018, 2, 7, 12, 22, 10);
console.log(utcDate1.toUTCString());

имеет следующий вывод:

Wed Mar 07 2018 12:22:10 GMT+0000 (GMT)

Нам пришлось внести некоторые дополнительные изменения, чтобы удалить ненужные элементы в полученном значении. Нам также пришлось вручную изменить отображаемое время, поскольку оно должно было показывать местное время по отношению к клиенту, который находится в США, поэтому мы добавили операцию где-то в коде, но я этого не делаю. я не помню где именно (это та часть, где мой разум и моя память немного путаются ...)

Объединение с Даниэлем было еще одним захватывающим опытом, хотя я не думаю, что сильно ему помог! Сегодня последний день моего первого тура по спариванию (сейчас у меня обеденный перерыв, но сегодня утром я снова был в паре с Рабеа, и мы продолжим объединяться позже во второй половине дня).

Позже у меня есть IPM с моими наставниками, и следующая еженедельная итерация должна снова включать работу над новым проектом самостоятельно. В целом, совместная работа с мастерами была стимулирующим и поучительным - во многих отношениях - опытом, и я с нетерпением жду возможности снова объединиться в какой-нибудь другой клиентский проект!