Ich möchte Summe von drei Werten erhalten (EndDay + StartDay + Monate), also brauche ich Ihre Hilfe, um meinen Code zu korrigieren. ich diesen Code schrieb, nachdem ich es laufen Ich habe 3 Fehler, dieFehler mit Mein Code, um Datum in C zu erhalten #
1- Operator ‚/‘ angewendet werden kann, nicht auf die Operanden vom Typ ‚Datetime‘ und ‚int‘ für float EndDate = (TO_DATE/EndDay);
2- CS0103 ASP.net Der Name existiert im aktuellen Kontext nicht in Zeile int Date = EndDay + StartDay + months;
public float GetMonths(DateTime FROM_DATE, DateTime TO_DATE)
{
if (FROM_DATE > TO_DATE)
{
throw new Exception("Start Date is greater than the End Date");
}
int NumberOfMonths = System.DateTime.DaysInMonth(FROM_DATE.Year, FROM_DATE.Month);
if (FROM_DATE.Day != 1){
float StartDay = (NumberOfMonths - FROM_DATE.Day)/NumberOfMonths;
}
else
{
float StartDay = 1;
}
float months = ((TO_DATE.Year * 12) + TO_DATE.Month) - ((FROM_DATE.Year * 12) + FROM_DATE.Month);
int EndDay = System.DateTime.DaysInMonth(TO_DATE.Year, TO_DATE.Month);
if (TO_DATE.Day!= System.DateTime.DaysInMonth(TO_DATE.Year, TO_DATE.Month))
{
float EndDate = (TO_DATE/EndDay);
}
else
{
float EndDate = 1;
}
int Date = EndDay + StartDay + months;
return Date;
}
Was versucht die Funktion zu tun? Was ist der zurückgegebene Float - Anzahl der Tage? – markmnl
nein es sollte die Anzahl der Monate zurückgeben –
Anzahl der Monate was? Zwischen den beiden Daten? Teilweise, wenn zwischen den beiden Daten 1 Monat und 4 Tage liegen? Wie würdest du mit dem Monat umgehen, aus dem der Bruch kommt? – yaakov