|
Дата выхода (Работа с датами)
|
|
Пользователь
124 сообщения
Мужчина
|
В общем, у меня игровой блог. И чтобы каждый раз, не редактировать, игру, а именно "Игра уже вышла" и "Игра в разработке". Хотелось бы каким-либо образом, скриптом выводить это автоматом. При добавлении я указываю дату выхода. Вроде бы, есть скрипт, который выводит в определенную дату нужный текст.
К примеру сегодня 23.08.2012, игра вышла 21.08.2012 - Скрипт пишет текст: "Игра уже вышла". Или, сегодня 23.08.2012, игра выходит 29.08.2012 - Скрипт пишет текст: "Игра в стадии разработки".
Поковырялся в условных операторах, может и возможно через них, но не знаю.
Кстати я задействую 1 доп. поле - Дата выхода, 1 фильтр - статус игры. Так что, возможно ЛИ?
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
На счет опероваторов незнаю, но думаю можно обычным js скриптом...
Сейчас попробую написать, если получится выложу.
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
буду очень благодарен
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
Ща.. ещё минут 5 и готово, ну поидеи, если получитсяДобавлено (24.07.2012, 03:31) --------------------------------------------- Все.. Ща скину..
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
ок
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
1) Див, вставляеш там, где хочеш видеть текст: Code <div id="GameDate"></div>
2) После дива, вставляй скрипт: (Дату 24.07.2012, заменяй на доп. поле т.е. $OTHER1$ Если не ошибаюсь) Code <script type="text/javascript"> var d=new Date(); var year = d.getFullYear(); // Узнаем сегодняшний год var date = d.getDate(); // Узнаем сегодняшнюю дату var month = (d.getMonth()+1); // Узнаем сегодняшний месяц if(month>='10'){var month = month}else{var month = '0'+month+''}
var DateGame = '24.07.2012'; // Дата выпуска игры. Формат даты ДД.ММ.ГГГГ
//* Не трогать *// var Game_r = DateGame.split('.'); var Game_Year = (Game_r.length - 1); var GameYear = Game_r[Game_Year]; // Год var Game_Month = (Game_r.length - 2); var GameMonth = Game_r[Game_Month]; // Месяц var Game_Day = (Game_r.length - 3); var GameDay = Game_r[Game_Day]; // День //* Не трогать.END *//
if(year>=GameYear && month>=GameMonth && date>=GameDay){ var GameOut = 'Игра уже вышла'; // Текст когда игра вышла } else{ var GameOut = 'Игра в разработке'; // Текст когда игра ещё не вышла } $('#GameDate').html(GameOut); // #GameDate див, где будет выводится текст </script> Добавлено (24.07.2012, 03:41) --------------------------------------------- Простенький скрипт, не стал "Изобретать велосипед"
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
Он пишет что все игры в разработке
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
F0rlike, А куда вставляеш то?? Вот допустим вид материалов Code <div id="GameDate"></div>
<script type="text/javascript"> var d=new Date(); var year = d.getFullYear(); // Узнаем сегодняшний год var date = d.getDate(); // Узнаем сегодняшнюю дату var month = (d.getMonth()+1); // Узнаем сегодняшний месяц if(month>='10'){var month = month}else{var month = '0'+month+''} var DateGame = '$OTHER1$'; // Дата выпуска игры. Формат даты ДД.ММ.ГГГГ //* Не трогать *// var Game_r = DateGame.split('.'); var Game_Year = (Game_r.length - 1); var GameYear = Game_r[Game_Year]; // Год var Game_Month = (Game_r.length - 2); var GameMonth = Game_r[Game_Month]; // Месяц var Game_Day = (Game_r.length - 3); var GameDay = Game_r[Game_Day]; // День //* Не трогать.END *// if(year>=GameYear && month>=GameMonth && date>=GameDay){ var GameOut = 'Игра уже вышла'; // Текст когда игра вышла } else{ var GameOut = 'Игра в разработке'; // Текст когда игра ещё не вышла } $('#GameDate').html(GameOut); // #GameDate див, где будет выводится текст </script>
И проверь, как ты в доп. поле №1, написал дату, дата должна быть ввида ДД.ММ.ГГГГ
И если не помогло, я ща сам попробую на тестовом сайте сделать...
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
я вставляю на страницу с игрой. дата в формате 26.04.2012
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
F0rlike, Скинь ссылку на сайт... Имено куда,в страницу с материалом, или в вид материалов? И какой модуль используеш?Добавлено (24.07.2012, 03:59) --------------------------------------------- Если вставляеш в вид материалов, то вот Надо изменить: Code <div id="GameDate$ID$"></div>
и
$('#GameDate$ID$').html(GameOut); // #GameDate див, где будет выводится текст
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
stuff! В страницу материала)
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
F0rlike, кинь ссылку на сайт, я посмотрю
|
|
|
|
|
|
Пользователь
124 сообщения
Мужчина
|
gamity.ru
|
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
frodo45, условие же не правильное =) вдумайся )
|
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
Code <script type="text/javascript"> var DateGame = '25.07.2012'; $(document).ready(function() { var d = new Date(); var year = d.getFullYear(); // Узнаем сегодняшний год var date = d.getDate(); // Узнаем сегодняшнюю дату var month = d.getMonth() + 1; // Узнаем сегодняшний месяц var Game_r = DateGame.split('.'); var GameYear = Game_r[2]; var GameMonth = Game_r[1]; var GameDay = Game_r[0]; if((year > GameYear) || (year >= GameYear && ((month == GameMonth && date >= GameDay) || month > GameMonth))) { var GameOut = 'Игра уже вышла'; // Текст когда игра вышла } else{ var GameOut = 'Игра в разработке'; // Текст когда игра ещё не вышла } $('#GameDate').html(GameOut); // #GameDate див, где будет выводится текст }); </script>
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
F0rlike, facepalm..... Нахера ты изменял код!????? Епт! ПОэтому и не работает! Суй его так, как я его написал! Естественно, там || - стоит, это значит ИЛИ.... а нужно что бы строго всю дату определял т.е. && (И)... Ставь как я его тебе дал.
Добавлено (24.07.2012, 04:13) --------------------------------------------- Молодец что его сократил, что-то не додумал... Проблема в этом: Code if((year > GameYear) || (year >= GameYear && ((month == GameMonth && date >= GameDay) || month > GameMonth))) {]
|
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
frodo45, автор установил, мою доработку отписал что все работает
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
syp41k, Хм... не робит из-за той проблемы, там считывает if ИЛИ, т.е. Считывает каждую дату отдельно... (День,Месяц,Год). А нужно && Дабы скрипт сычитывал строго от этих символов(Даты)... Не надо что-то дорабатывать, сократить всегда успеется, а изменять что-то не к чему... Сам тестил, все робит идеально....... пф...
Добавлено (24.07.2012, 04:23) --------------------------------------------- Code
<script type="text/javascript"> var DateGame = '16.11.2012'; $(document).ready(function() { var d = new Date(); var year = d.getFullYear(); // Узнаем сегодняшний год var date = d.getDate(); // Узнаем сегодняшнюю дату var month = d.getMonth() + 1; // Узнаем сегодняшний месяц var Game_r = DateGame.split('.'); var GameYear = Game_r[2]; var GameMonth = Game_r[1]; var GameDay = Game_r[0]; if(year>=GameYear && month>=GameMonth && date>=GameDay) { var GameOut = 'Игра уже вышла'; // Текст когда игра вышла } else{ var GameOut = 'Игра в разработке'; // Текст когда игра ещё не вышла } $('#GameDate').html(GameOut); // #GameDate див, где будет выводится текст }); </script>
И зачем лишний раз увеличивать код? ОоДобавлено (24.07.2012, 04:24) --------------------------------------------- Офф топ полагаю
|
|
|
|
|
|
Пользователь
92 сообщения
Мужчина
|
frodo45 Code (function(b){ b = b.split('.'); b = (b[2] + b[1] + b[0]) * 1; var d = new Date(); var a = (d.getFullYear() + ((d.getMonth()+1)>10?d.getMonth()+1:'0'+(d.getMonth()+1)) + d.getDate()) * 1; $('#GameDate').html(a > b ? "Игра уже вышла" : "Игра в разработке"); })('$OTHER1$');
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
aaa4xu, Я уже писал - "Не изобретал велосипед" Сделал все просто и понятно любому человеку ;) Такими темпами, скоро все скрипты в одну строку будут помещатся )) хаха
|
|
|
|
|
|
Coder
627 сообщений
Мужчина
|
frodo45, ладно на пальцах, текущая дата: 24.07.2012 дата выхода игры: 29.05.2012 твое условие сработает? смотри на дни, по параметру текущего дня, условие не пройдет и скрипт в целом выдаст "в разработке", но как мы видим, по месяцу "игра уже вышла".
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
syp41k, Блин, я тестил!!!!! ВСе работает! Ты сам то тестил скрипт?? Ну вот и не говори чепухи, я прежде чем выложить проверяю дважды... Мой скрипт робит идеально... И если ты понимаеш java-язык хорошо, то уж должен знать что написано в скрипте)) Но думаю это уже не важно...
|
|
|
|
|
|
Пользователь
92 сообщения
Мужчина
|
frodo45, facepalm. Ты не понял главной идеи - любая дата перевернутая наоборот отлично сравнивается как 2 обычных числа.
20120729 20120723 <-- Дата выхода 20120721
Угодаешь в какой день нужно вывести "в разработке" а в какой "вышла"?
|
|
|
|
|
|
Beginner
53 сообщения
Мужчина
|
aaa4xu, пфф.... Что-то я не понял... Разве не добавляются даты именно так 21.12.2012 ?? Если они в такой последовательности, то и говорить неочем.... Я лишь написал так, как работает, и понятно любому человеку, дальше кому не лень, пусть мою задумку поймет и перепишет скрипт короче...
|
|
|
|
|
|
Пользователь
92 сообщения
Мужчина
|
frodo45, а как ты думаешь, чем занимается приведенный мной скрипт остальные 5 строк кроме сравнения? Ох срань господня, да он же переворачивает даты!
|
|
|
|
|
|