開始日と終了日を知りたい場合は、2つの日付間の月と年を取得する方法を知りたいと思います。例えば、Start Date: '1/1/2011'(mm/dd/yyyy)
およびEnd date :'11/30/2011'
。検索する ヶ月と年がJanuary,2011; February,2011; March,2011; and so on till November,2011
2つの日付間の月を一覧表示します
答えて
この式を使用して、次のとおりです。
((date1.Year - date2.Year) * 12) + date1.Month - date2.Month
とUは、月の数を取得します。
これを適切な方法で使用すると、それを解読します。
へようこそStackworkflowへようこそHardworkはあなたの部分であり、それが問題を抱えている場合には兄弟姉妹のために考えていることです。ここで
より低い月があるように月をチェックする必要がありますより高い月から引いたものは、最初の月が常に2番目の月よりも大きいと仮定することはできません。 –
@モンキーボーイ - あなたは正しいですが、これは種です。デベロッパーは問題を抱えているときに学びます。 – bhuvin
我々は
public static IEnumerable<Tuple<string, int>> MonthsBetween(
DateTime startDate,
DateTime endDate)
{
DateTime iterator;
DateTime limit;
if (endDate > startDate)
{
iterator = new DateTime(startDate.Year, startDate.Month, 1);
limit = endDate;
}
else
{
iterator = new DateTime(endDate.Year, endDate.Month, 1);
limit = startDate;
}
var dateTimeFormat = CultureInfo.CurrentCulture.DateTimeFormat;
while (iterator <= limit)
{
yield return Tuple.Create(
dateTimeFormat.GetMonthName(iterator.Month),
iterator.Year);
iterator = iterator.AddMonths(1);
}
}
を行くと明らかにあなたは結果が
{
{ "January", 2011 },
{ "February", 2011 },
{ "March", 2011 },
{ "April", 2011 },
{ "May", 2011 },
{ "June", 2011 },
{ "July", 2011 },
{ "August", 2011 },
{ "September", 2011 },
{ "October", 2011 },
{ "November", 2011 },
}
のようなものあなたの文化に依存している月の名前でなければなりません。この
var startDate = DateTime.ParseExact("01/01/2011", "MM/dd/yyyy");
var endDate = DateTime.ParseExact("11/30/2011", "MM/dd/yyyy");
var months = MonthsBetween(startDate, endDate);
のようにそれを呼び出しています、私は思っています、あなたが求めているものです、そうですか?
あなたは開始日が、それは開始日から関連する月と年の部分に引き出し、あなたが持っているかもしれない(それらを格納以内に終了日
以下のwhileループを始めることができます具体的なクラスやなど)、そして、あなたは2つの日付の間の月と年を取得するためにEnumerable.Range機能を使用することができますAddMonths(1)
//something on these lines
while(startdate <= enddate)
{
// pull out month and year
startdate = startdate.AddMonths(1);
}
これは本当に選ばれた答えでなければなりません。文字通り2行のコードと多くの選択された答え。 – Ricky
を使用して1ヶ月で開始日をインクリメント
var start = new DateTime(2011, 1, 1);
var end = new DateTime(2011, 11, 30);
var diff = Enumerable.Range(0, 13).Select(a => start.AddMonths(a))
.TakeWhile(a => a <= end)
.Select(a => String.Concat(a.ToString("MMMM") + ", " + a.Year));
ありがとう、兄。私はこのスタイル{.Select(e => e.ToString( "yyyyMM"));} –
を使用します。 2011-1-23 - > 2011-2-1(2011-1)になります。終了日の月の最終日と比較する必要があります。 .TakeWhile(a => a <= end.AddDays(DateTime.DaysInMonth(end.Year、end.Month)-end.Day)) – phiree
- 1. 一覧表の2つのDate列の間のすべての日付
- 2. 特定の日付のファイルを一覧表示しますか?
- 3. google.visualization.DataTableは間違った日付(月+1)を表示します
- 4. 2つのカーネルの違いを一覧表示します
- 5. Javaの2つの日付の間の月曜日の数
- 6. Jqueryで2つの日付の間の月を計算する
- 7. 日を無視して2つの日付の間の月を取得する
- 8. Tableauの日付の表示前の月の表示12か月
- 9. 日付範囲のファイルタイプを一覧表示するアーティファクトクエリ言語
- 10. DataStage-無効な日付のフィールドを一覧表示する
- 11. 2つの日付の間に月を取得するC#
- 12. 月曜日、2月9日のような日付を表示する日付ピッカー
- 13. 2つの日付の間に日付表を作成する
- 14. PHPは2つの日付の間の満月の数を計算します
- 15. PostgreSQLの2つの日付間の毎月の行を作成します
- 16. UIDatepicker日付月曜日の日付のみを表示
- 17. 2つの日付間の週別の日付をすべて一覧表示するにはどうすればよいですか?
- 18. 与えられた2つの日付間の日付シーケンスの作成 - 2月2日に失敗する
- 19. Java日付のバグ2日付間の月の計算
- 20. Excelでの2つの日付の間の月数の計算
- 21. 接頭辞をつけた月の日曜日を自動的に一覧表示する
- 22. 2つの日付の間の月のリストasp.net
- 23. 2つのテーブル間のトップ10の結果を一覧表示する
- 24. PHP 2つの日付間の月数の違いは?
- 25. 2つの日付の間の年月日を計算するJavaScript関数
- 26. 2つの日付間の月を計算し、毎月の計算日を計算する
- 27. 2つの日付の間隔の1か月あたりの月の計算
- 28. 日付機能2つの日付間のすべての日付を表示する
- 29. Androidの日付ピッカーの表示月名
- 30. 2つの日付の間に月曜日を取得するmysql
これは宿題のように聞こえる。アイデアは、あなた自身でこれを働かせることです。これまでの解決策に何か問題がある場合は、私は喜んで支援します。 –
複製:http://stackoverflow.com/questions/1525990/difference-in-months – h1ghfive
@ h1ghfive - いいえ、それはその1つの複製ではありません – PHeiberg