Вход

Просмотр полной версии : Даты в JavaScript


Сладенькая конфетка
17.04.2013, 17:44
Помогите неопытной девушке((
И так.
Есть дата (строковая переменная) 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
так?))
<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
отнять не 1 а 71

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

Сладенькая конфетка
17.04.2013, 18:21
отнять не 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 вам никто не будет, потому как это бред. В вычислении даты слишком много нюансов, чтобы вместо использования предназначенных для этого вещей заниматься велосипедозапиливанием.

Shaci
18.04.2013, 22:12
сто пудово там мужик бородатый по ту сторону экрана сидит, или прыщавый подросток , или...