EDITED: (извините, английский не является моим основным языком, и я искренне извиняюсь перед всеми людьми, которые читают этот вопрос.)Как конвертировать день и сравнить это с первым днем месяца?
Я отредактировал мой вопрос, чтобы объяснить свою проблему. Извини за это.
Я хочу сравнить два дня. Когда я добавляю данные к нему и сохраняю день в одном файле time_was_send.txt
.
Тогда это должно сравниться с первым днем текущего месяца. Если это правда, то он выполнит метод SendMail.sendDailyMail
.
У меня проблемы с методом getfirstdayoflastmonth(), он всегда вычитает 1 месяц, пока я хочу, чтобы он занял первый день текущего месяца.
Я просто хочу сравнить, если они будут в тот же день и месяц или нет - год не важен.
Так что я хочу сравнить что-то вроде этого. 26/12
- читать из файла time_was_send.txt
vs getfirstdayoflastmonth(currentDay)
пока currentDay = 1/12
.
Чтобы помочь вам понять, вот мой код,
string path = "C:\\time_was_send.txt";
string timeFromFile = ReadFromFile(path);
DateTime m_timeFromFile = DateTime.ParseExact(timeFromFile, "dd-MM-yyyy", null);
string s = now.ToString("dd-MM-yyyy");
DateTime timeNow = DateTime.ParseExact(s, "dd-MM-yyyy", null);
if (m_timeFromFile == procedureMethod.getfirstdayoflastmonth(timeNow))
{
try
{
SendMail.sendDailyMail(listXML);
}
catch{}
}
Вот getfirstdayoflastmonth() метод:
public static DateTime getfirstdayoflastmonth(DateTime time)
{
return new DateTime(time.AddMonths(-1).Year, time.AddMonths(-1).Month, 1);
}
Update 1: я решил мою проблему. В заявлении if()
, я добавляю .Day
и .Month
для сравнения. Это работает. Спасибо всем, кто помог мне.
if (m_timeFromFile.Day == procedureMethod.getfirstdayoflastmonth(timeNow).Day && m_timeFromFile.Month == procedureMethod.getfirstdayoflastmonth(timeNow).Month)
{
try
{
SendMail.sendDailyMail(listXML);
}
catch{}
}
AddMonths(-1)
я редактировал в AddMonths(0)
.
public static DateTime getfirstdayoflastmonth(DateTime time)
{
return new DateTime(time.AddMonths(-1).Year, time.AddMonths(0).Month, 1);
}
Трудно понять, что вы спрашиваете или в чем проблема. Вам нужен код, который будет отправлять только электронное письмо, когда оно будет в первый день месяца? – pstrjds
Итак, я не единственный, кто ничего не понял! –
Извините, мне был изменен мой вопрос. –