現在の日付から10日先の日付を自動的に設定し、次の形式dd/mm/yyyyで表示するSeleniumで最終的に使用されるJavaScriptを作成する手助けをいただければ幸いです。
私は現在以下のスクリプトを持っていますが、私はそれでどこにも行きません:
var myDate=new Date();
myDate.now.format(myDate.setDate(myDate.getDate()+5),("dd/mm/yyyy");
どんな助けでも大歓迎です。
これは未来の日付を取得する例です...
var targetDate = new Date();
targetDate.setDate(targetDate.getDate() + 10);
// So you can see the date we have created
alert(targetDate);
var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1; // 0 is January, so we must add 1
var yyyy = targetDate.getFullYear();
var dateString = dd + "/" + mm + "/" + yyyy;
// So you can see the output
alert(dateString);
日付の書式設定には、より適切な方法がいくつかあります。例は、次の宛先にあります。
http://www.west-wind.com/Weblog/posts/282495.aspx
http://www.svendtofte.com/javascript/javascript-date-string-formatting/
試してください:
new Date(Date.now() + 1000 /*sec*/ * 60 /*min*/ * 60 /*hour*/ * 24 /*day*/ * 10)
私はこのようなことをする必要がありましたが、結果はインラインで必要でした。だから、これは私が今から10日後に日付を取得するために働いたものです:
new Date((new Date()).getTime() + (10 * 86400000))
私がやろうとしていることは、次のようなカスタムDateHelper
オブジェクトを作成することです。
var DateHelper = {
addDays : function(aDate, numberOfDays) {
aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
return aDate; // Return the date
},
format : function format(date) {
return [
("0" + date.getDate()).slice(-2), // Get day and pad it with zeroes
("0" + (date.getMonth()+1)).slice(-2), // Get month and pad it with zeroes
date.getFullYear() // Get full year
].join('/'); // Glue the pieces together
}
}
// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Add 10 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 10));
( this Fiddle も参照)
私は月を追加して将来の年を取得する必要がありました:
var duration = 13;
var month = 11;
var year = 2018;
var final_year = new Date(year, month + duration);
document.body.innerHTML = final_year.getFullYear();
このオリジナルページのトピックは2010年のものです。このため、2017年8月にこの返信を追加しました。これは、現在の日付に基づいてローリング日付範囲を作成するのに役立つ単純なソリューションです。
例:今日が2017年8月28日であり、開始日を過去-7日、将来の日付を23日とする場合、次のJavaScriptコードは日付範囲文字列を出力します2017年8月21日から9月20日まで
その後、翌日、2017年8月29日に、日付範囲は次のようになります2017年8月22日から9月21日
注:必要に応じてコードを変更して、開始日または将来の日付を静的にすることができます。
HTMLコードで使用するには:
イベント開催:<script>document.write(dateRange)</script>
生成されます:
2017年8月21日〜9月20日開催
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var startDate = new Date();
startDate.setDate(startDate.getDate() -7 );
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 23);
var m1 = month[startDate.getMonth()];
var d1 = startDate.getDate();
var y1 = startDate.getFullYear();
var m2 = month[futureDate.getMonth()];
var d2 = futureDate.getDate();
var y2 = futureDate.getFullYear();
var dateRange = m1 + ' ' + d1 + ' thru ' + m2 + ' ' + d2 + ', ' + y2;
// alert(dateRange); use alert function to test the date range