Вчера был мой четвертый день работы в паре по клиентскому проекту, и я выступил в паре с Дэниелом. Нам пришлось изменить способ отображения даты и времени в проекте. По сути, нам пришлось изменить все даты, показанные в формате 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 с моими наставниками, и следующая еженедельная итерация должна снова включать работу над новым проектом самостоятельно. В целом, совместная работа с мастерами была стимулирующим и поучительным - во многих отношениях - опытом, и я с нетерпением жду возможности снова объединиться в какой-нибудь другой клиентский проект!