Skip to content

Commit 1edeaf9

Browse files
committed
work on date components, autocorrection, date to number
1 parent 0b90751 commit 1edeaf9

File tree

1 file changed

+31
-31
lines changed

1 file changed

+31
-31
lines changed

1-js/05-data-types/10-date/article.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
102102
Однако существуют и их UTC-вариации, возвращающие день, месяц, год для часовой зоны UTC+0: [getUTCFullYear()](mdn:js/Date/getUTCFullYear), [getUTCMonth()](mdn:js/Date/getUTCMonth), [getUTCDay()](mdn:js/Date/getUTCDay). Для их использования требуется перед `"get"` подставить `"UTC"`.
103103
104-
Если ваша местная часовая зона сдвинута относительно, то следующий код вернёт разные значения:
104+
Если ваша местная часовая зона смещена относительно UTC, то следующий код вернёт разные значения:
105105
106106
```js run
107107
// текущая дата
@@ -114,24 +114,24 @@ alert( date.getHours() );
114114
alert( date.getUTCHours() );
115115
```
116116

117-
Besides the given methods, there are two special ones that do not have a UTC-variant:
117+
Помимо вышеприведённых методов, существует два особенных метода, не имеющих варианта с UTC:
118118

119119
[getTime()](mdn:js/Date/getTime)
120-
: Returns the timestamp for the date -- a number of milliseconds passed from the January 1st of 1970 UTC+0.
120+
: Для заданной даты возвращает отметку времени -- количество миллисекунд, прошедших с 1 января 1970 года UTC+0.
121121

122122
[getTimezoneOffset()](mdn:js/Date/getTimezoneOffset)
123-
: Returns the difference between the local time zone and UTC, in minutes:
123+
: Возвращает разницу в минутах между местной часовой зоной и UTC:
124124

125125
```js run
126-
// if you are in timezone UTC-1, outputs 60
127-
// if you are in timezone UTC+3, outputs -180
126+
// если вы в часовой зоне UTC-1, то выводится 60
127+
// если вы в часовой зоне UTC+3, выводится -180
128128
alert( new Date().getTimezoneOffset() );
129129

130130
```
131131

132-
## Setting date components
132+
## Задание компонентов времени
133133

134-
The following methods allow to set date/time components:
134+
Следующие методы позволяют задать компоненты даты/времени:
135135

136136
- [`setFullYear(year [, month, date])`](mdn:js/Date/setFullYear)
137137
- [`setMonth(month [, date])`](mdn:js/Date/setMonth)
@@ -142,36 +142,36 @@ The following methods allow to set date/time components:
142142
- [`setMilliseconds(ms)`](mdn:js/Date/setMilliseconds)
143143
- [`setTime(milliseconds)`](mdn:js/Date/setTime) (sets the whole date by milliseconds since 01.01.1970 UTC)
144144

145-
Every one of them except `setTime()` has a UTC-variant, for instance: `setUTCHours()`.
145+
У всех методов, кроме `setTime()`, есть вариант для UTC, например: `setUTCHours()`.
146146

147-
As we can see, some methods can set multiple components at once, for example `setHours`. The components that are not mentioned are not modified.
147+
Как видим, некоторые методы могут задавать сразу несколько компонентов, например: `setHours`. Компоненты, не указанные выше, изменять нельзя. The components that are not mentioned are not modified.
148148

149-
For instance:
149+
Пример:
150150

151151
```js run
152152
let today = new Date();
153153

154154
today.setHours(0);
155-
alert(today); // still today, but the hour is changed to 0
155+
alert(today); // всё равно выводится сегодняшняя дата, но значение часа будет 0
156156

157157
today.setHours(0, 0, 0, 0);
158-
alert(today); // still today, now 00:00:00 sharp.
158+
alert(today); // всё равно выводится сегодняшняя дата, но время будет 00:00:00.
159159
```
160160

161-
## Autocorrection
161+
## Автоисправление
162162

163-
The *autocorrection* is a very handy feature of `Date` objects. We can set out-of-range values, and it will auto-adjust itself.
163+
*Автоисправление* -- это очень полезная возможность объектов `Date`. Можно задать значения, выходящие за рамки формата, и эти значения будут автоматически откорректированы.
164164

165-
For instance:
165+
Пример:
166166

167167
```js run
168168
let date = new Date(2013, 0, *!*32*/!*); // 32 Jan 2013 ?!?
169-
alert(date); // ...is 1st Feb 2013!
169+
alert(date); // ...1st Feb 2013!
170170
```
171171
172172
Out-of-range date components are distributed automatically.
173173
174-
Let's say we need to increase the date "28 Feb 2016" by 2 days. It may be "2 Mar" or "1 Mar" in case of a leap-year. We don't need to think about it. Just add 2 days. The `Date` object will do the rest:
174+
Предположим, нам требуется увеличить дату "28 февраля 2016" на два дня. В зависимости от того, високосный это год или нет, результатом будет "2 марта" или "1 марта". Нам об этом думать не нужно. Просто прибавляем два дня. Объект `Date` позаботится об остальном:
175175
176176
```js run
177177
let date = new Date(2016, 1, 28);
@@ -182,51 +182,51 @@ date.setDate(date.getDate() + 2);
182182
alert( date ); // 1 Mar 2016
183183
```
184184
185-
That feature is often used to get the date after the given period of time. For instance, let's get the date for "70 seconds after now":
185+
Эту возможность часто используют, чтобы получить дату по прошествии заданного отрезка времени. Например, получим дату "спустя 70 секунд с текущего момента":
186186
187187
```js run
188188
let date = new Date();
189189
date.setSeconds(date.getSeconds() + 70);
190190

191-
alert( date ); // shows the correct date
191+
alert( date ); // показывает правильную дату
192192
```
193193
194-
We can also set zero or even negative values. For example:
194+
Также можно задавать нулевые или даже отрицательные значения. Например:
195195
196196
```js run
197197
let date = new Date(2016, 0, 2); // 2 Jan 2016
198198

199-
date.setDate(1); // set day 1 of month
199+
date.setDate(1); // задаёт первый день месяца set day 1 of month
200200
alert( date );
201201

202202
date.setDate(0); // min day is 1, so the last day of the previous month is assumed
203203
alert( date ); // 31 Dec 2015
204204
```
205205
206-
## Date to number, date diff
206+
## Приведение даты к числу, разницы дат
207207
208-
When a `Date` object is converted to number, it becomes the timestamp same as `date.getTime()`:
208+
Если объект `Date` привести к числовому значению, то получим отметку времени, по аналогии с `date.getTime()`:
209209
210210
```js run
211211
let date = new Date();
212-
alert(+date); // the number of milliseconds, same as date.getTime()
212+
alert(+date); // количество миллисекунд, по аналогии с date.getTime()
213213
```
214214
215-
The important side effect: dates can be subtracted, the result is their difference in ms.
215+
Важное побочное явление: даты можно вычитать, в результате получаем разницу в миллисекундах.
216216
217-
That can be used for time measurements:
217+
Этот приём используется для измерения времени:
218218
219219
```js run
220-
let start = new Date(); // start counting
220+
let start = new Date(); // начинаем считать
221221

222-
// do the job
222+
// производим некие вычисления
223223
for (let i = 0; i < 100000; i++) {
224224
let doSomething = i * i * i;
225225
}
226226

227-
let end = new Date(); // done
227+
let end = new Date(); // заканчиваем считать
228228

229-
alert( `The loop took ${end - start} ms` );
229+
alert( `Цикл отработал за ${end - start} миллисекунд` );
230230
```
231231
232232
## Date.now()

0 commit comments

Comments
 (0)