-2
最終的な日付の値は20080405
のようにする必要がありますが、これは20080229
と表示されています。日付の平均を持つ方法
public class Program
{
public static void Main(string[] args)
{
DateTime dt1 = new DateTime(dt);
List<DateTime> arryDates = new List<DateTime>();
Decimal[] avgdatetimevalues = { 20080229, 20080304, 20080304, 20080224 };//(Sum =61; sum/4 = 20080265)
// the final date value should be something like 20080405 but this is showing as 20080229
try
{
for(int i = 0; i< avgdatetimevalues.Length; i++)
{
arryDates.Add(ValueToDate(avgdatetimevalues[i]));
}
var cnt = arryDates.Count();
double temp = 0D;
if (cnt > 0)
{
for (int i = 0; i < cnt; i++)
{
temp += (arryDates[i].Ticks/(double)cnt);
}
var average = new DateTime((long)temp);
}
}
catch (Exception ex)
{
throw;
}
}
public static DateTime ValueToDate(decimal dt)
{
DateTime dates;
DateTime.TryParseExact(dt.ToString(), "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dates);
return dates;
}
}
あなたが試したコードを投稿することはできますか? – Isaac
実装コードを追加して最終的な日付の値を探しました – Joyfulkris
どのような日付の「平均」(どのような意味であれ)がどのように*すべての日付の後ろに来るのでしょうか? 2008年2月29日プラス数時間は実際に正しいと思う。また、なぜ実際のDateTimeオブジェクトの代わりに小数点記号を使用していますか? –