2015-01-01 5 views
1

У меня есть URL, которые меняются каждый день, основываясь на текущей дате, например:Как вставить сегодняшнюю дату в URL?

http://www.newspaper.com/edition/20141227.html 

где 20141227 находится в формате ГГГГММДД.

Могу ли я включить дату с помощью JavaScript? Если возможно, как мне это сделать?

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Дата должна содержать почти все, что вам нужно. – Amadan

ответ

1

Я думаю, что следующие шаги помогут вам достичь функциональности вашего ищут

1 . Совершите сегодняшнюю дату или любую дату в формате «YYYYMMDD» в вашем случае.

2. Затем добавьте его в свой URL.

Подробнее см. Фрагмент кода. Обратите внимание, что вам просто нужно навести курсор мыши на URL, чтобы узнать, на что он указывает.

Date.prototype.toMyString = function() { 
 
    //If month/day is single digit value add perfix as 0 
 
    function AddZero(obj) { 
 
      obj = obj + ''; 
 
      if (obj.length == 1) 
 
       obj = "0" + obj 
 
      return obj; 
 
    } 
 

 
    var output = ""; 
 
    output += this.getFullYear(); 
 
    output += AddZero(this.getMonth()+1); 
 
    output += AddZero(this.getDate()); 
 

 
    return output; 
 
} 
 

 
var d = new Date(); 
 

 
var link = document.getElementById("link"); 
 

 
link.setAttribute("href","/yourchoiceofURL?t="+d.toMyString());
<ul> 
 
    <li><a id="link" href="#">Any URL</a></li> 
 
</ul>

+0

Спасибо за ваш ответ. Это работа для меня. –

0
var date = new Date().toDateString("yyyyMMdd"); 

затем вставьте дату в построении URL-адрес

URL = "http://blahblahblaj.com/" + дата

+0

согласно W3S даты объекта Javascript имеет метод toDateStrng: http://www.w3schools.com/jsref/jsref_obj_date.asp , если вы действительно в деталях, а затем использовать momentjs Http: // momentjs. com/docs/ – MrE

+1

Извините, это неправильно. Метод определен, но не с параметром для указания формата. http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5.3 –

+2

Не полагайтесь на W3Schools ... – epascarello

0

Вот более простой метод, который работает

<script> 

var link = document.getElementById('link'); // ref. to your anchor tag 

var d = new Date, 
    date = d.getDate(), 
    month = d.getMonth()+1, // Months in JavaScript are 0 indexed 
    year = d.getFullYear(); 

if(date < 10) date = ("0" + date); 
if(month < 10) month = ("0" + month); 

link.href = ("STATIC_URL/" + year + month + date);//Concatenating three numbers, kind of a hack 

</script> 

Это так же просто, как он получает.

0

Вы можете попробовать приведенный ниже код. Надеюсь это поможет.

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 
if(dd<10){dd='0'+dd}; 
if(mm<10){mm='0'+mm}; 
today = yyyy+mm+dd; 
var new_url=document.URL+"/"+today+".html"; 
console.log(new_url); 
0

Спасибо за все ответы коллег. Для Днянеша я пробовал код в http://jsfiddle.net/, может работать хорошо. Я пытаюсь войти в html-страницу, как это, поэтому не может работать отлично. Где ошибка?

<html> 

<head> 

<script type='text/javascript'> 
Date.prototype.toMyString = function() { 
    //If month/day is single digit value add perfix as 0 
    function AddZero(obj) { 
      obj = obj + ''; 
      if (obj.length == 1) 
       obj = "0" + obj 
      return obj; 
    } 

    var output = ""; 
    output += this.getFullYear(); 
    output += AddZero(this.getMonth()+1); 
    output += AddZero(this.getDate()); 

    return output; 
} 

var d = new Date(); 

var link = document.getElementById("link"); 

link.setAttribute("href","http://www.pressdisplay.com/pressdisplay/pageview.aspx?issue=1245"+d.toMyString()+"00000000001001"); 

</script> 

</head> 

<body> 

<a id="link" href="#">Any URL</a> 

</body> 

</html> 
0

Благодарим за всех, все рекомендуемые коды работают нормально. Если вы хотите поместить в HTML-код, добавьте следующий код, который будет загружен в браузере:

//<![CDATA[ 
window.onload=function(){ 

....javascript code here.... 

}//]]> 
Смежные вопросы