Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   скрипт вывода даты в формате 01.12.2014 (https://javascript.ru/forum/misc/44037-skript-vyvoda-daty-v-formate-01-12-2014-a.html)

aleksandr8i 03.01.2014 17:55

скрипт вывода даты в формате 01.12.2014
 
Привет, форумчане.

проблема заключается с отображением нуля перед числом месяца, сижу уже около часу не могу понять почему данная функция не выводит ноль перед числом месяца вот кусок который отвечает за вывод нуля
time_wr=((time_date<10)?"0"))+time_date;
вроде все правильно, но тем ни менее не работает. Сам я начал изучать js недавно, поэтому прошу не ругать сильно.

Вот сам скрипт (полный)
<p><span id="hours">
<script type="text/javascript">// <![CDATA[
obj_hours=document.getElementById("hours");

name_month=new Array ("01","02","03", "04","05", "06","07","08","09", "10","11","12");

function wr_hours()
{

time=new Date;

time_wr=((time_date<10)?"0"))+time_date;

time_wr=""+time.getDate()+"."+name_month[time.getMonth()]+"."+time.getFullYear()+"";

obj_hours.innerHTML=time_wr; 
}

wr_hours();
setInterval("wr_hours();",1000);
// ]]></script>
</span></p>

рони 03.01.2014 18:05

aleksandr8i,
попробуйте найти разницу между
Цитата:

Сообщение от aleksandr8i
=((time_date<10)?"0")

и Условный оператор

nyols 03.01.2014 18:06

У вас ошибка в 12-й строчке по моему:
time_wr=((time_date<10)?"0"))+time_date;


Во первых много скобок закрываете (открываются 2, а закрываются 3)

Во вторых, условный тернарный оператор имеет вид:
условие ? выражение1 : выражение2;


У вас отсутствует второе выражение, то есть должно быть так примерно:
(time_date<10) ? "0" : ""

aleksandr8i 03.01.2014 19:05

Цитата:

Сообщение от рони (Сообщение 290419)
aleksandr8i,
попробуйте найти разницу между
и Условный оператор

Цитата:

Сообщение от nyols (Сообщение 290421)
У вас ошибка в 12-й строчке по моему:
time_wr=((time_date<10)?"0"))+time_date;


Во первых много скобок закрываете (открываются 2, а закрываются 3)

Во вторых, условный тернарный оператор имеет вид:
условие ? выражение1 : выражение2;


У вас отсутствует второе выражение, то есть должно быть так примерно:
(time_date<10) ? "0" : ""

Рони, nyols спасибо что тупо решение не дайте а помогаете думать. С помощью вас я разобрался с условным операторам.
После прочтения инфы и указания ошибок понял, и исправил следующие было:
time_wr=((time_date<10)?"0"))+time_date;[JS]
стало: [JS]time_wr=((time_date<10)?'0':'')

но скрипт не заработал
тогда попробовал следующий вариант указал что time_date будет равняться функции time.getDate() а во второй строчки написал что ноль появлялся перед +time_date
time_date=time.getDate();
time_wr=((time_date<10)?'0':'')+time_date;

заработало, дата начала отображаться, а вот ноль перед числом месяца не появился. Выложил еще раз скрипт что можно было быстро посмотреть
<p><span id="hours">
<script type="text/javascript">// <![CDATA[
obj_hours=document.getElementById("hours");

name_month=new Array ("01","02","03", "04","05", "06","07","08","09", "10","11","12");

function wr_hours()
{

time=new Date;

time_date=time.getDate();
time_wr=((time_date<10)?'0':'')+time_date;

time_wr=""+time.getDate()+"."+name_month[time.getMonth()]+"."+time.getFullYear()+"";

obj_hours.innerHTML=time_wr; 
}

wr_hours();
setInterval("wr_hours();",1000);
// ]]></script>
</span></p>

рони 03.01.2014 19:18

aleksandr8i,
<p><span id="hours">
<script>
obj_hours=document.getElementById("hours");
name_month=new Array ("01","02","03", "04","05", "06","07","08","09", "10","11","12");
function wr_hours()
{
time=new Date;
time_date=time.getDate();
time_wr=((time_date<10)?'0':'')+time_date;
time_wr=time_wr+"."+name_month[time.getMonth()]+"."+time.getFullYear();
obj_hours.innerHTML=time_wr;
}

wr_hours();
setInterval("wr_hours();",1000);
</script></span></p>

aleksandr8i 03.01.2014 19:33

Спасибо,рони.

Deff 04.01.2014 02:37

Без перечисления эл-ов массива:
var time = new Date;
var month = (''+((time.getMonth()+1)/100).toFixed(2)).substr(2);
alert(month)

Vikky 04.01.2014 15:05

Может быть вот это поможет.


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