Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Даты в JavaScript (https://javascript.ru/forum/misc/37378-daty-v-javascript.html)

Сладенькая конфетка 17.04.2013 17:44

Даты в JavaScript
 
Помогите неопытной девушке((
И так.
Есть дата (строковая переменная) 20130501

как уменьшить строку на день, чтобы было не 20130500, а 20130430?

скажу сразу. вариант не катит:

var day = (((clOrdId.substring(0, 2)) * 1) - 1;
var month = (clOrdId.substring(2, 4)) * 1;
var year = (clOrdId.substring(4, 6)) * 1;


Желательно решить проблему через цикл if, без приведения строки к формату Date

animhotep 17.04.2013 18:08

так?))
<script>var date = 20130501;
var newDate = date - 71;
alert (newDate);
</script>

если серьёзно то date для этого и придумывали, не вижу смысла писать своё

Сладенькая конфетка 17.04.2013 18:11

Цитата:

Сообщение от animhotep (Сообщение 246731)
так?))
<script>var date = 20130501;
var newDate = date - 71;
alert (newDate);
</script>

если серьёзно то date для этого и придумывали, не вижу смысла писать своё

балин...
что за магия? как так??? можно объяснить натуральной блондинке с голубыми глазами?

animhotep 17.04.2013 18:13

Цитата:

Сообщение от Сладенькая конфетка
как уменьшить строку на день, чтобы было не 20130500, а 20130430?

отнять не 1 а 71

Сладенькая конфетка 17.04.2013 18:16

Цитата:

Сообщение от animhotep (Сообщение 246734)
отнять не 1 а 71

о как логично, вы просто гений!

Сладенькая конфетка 17.04.2013 18:21

Цитата:

Сообщение от animhotep (Сообщение 246734)
отнять не 1 а 71

стоп. а если так:
20130400 - 71 то получаем 20130330... как быть с мартом-то?:cray:

tsigel 17.04.2013 18:48

а с мартом придется воспользоваться Date :)

animhotep 17.04.2013 18:49

чтоб для каждого месяца if не писать юзайте date

Ervin 17.04.2013 18:53

var yourDate = "20130501",
     newDate = new Date(yourDate .slice(0, 4) + " " + yourDate .slice(4, 6) + " " + yourDate .slice(6, 8)).getTime();

newDate = new Date(newDate - 2.4e4);

alert(newDate);

Aetae 18.04.2013 20:54

Писать на if вам никто не будет, потому как это бред. В вычислении даты слишком много нюансов, чтобы вместо использования предназначенных для этого вещей заниматься велосипедозапиливанием.


Часовой пояс GMT +3, время: 09:31.