我有一个日期问题。我不能让.AddYears()
方法工作。有人可以请看看我在这里做错了什么。DateTime AddYears()数组不按预期工作
MySqlConnection myMySqlConnection = new MySqlConnection(connectionString);
MySqlDataAdapter da = new MySqlDataAdapter();
MySqlCommand cmd1;
cmd1 = new MySqlCommand("SELECT INITIAL_DATE FROM USERS WHERE ID = @id1", myMySqlConnection);
cmd1.Parameters.AddWithValue("@id1", id);
myMySqlConnection.Open();
da.SelectCommand = cmd1;
DateTime initial_date = (DateTime)cmd1.ExecuteScalar();
myMySqlConnection.Close();
从这点及以下问题:
DateTime[] dates = new DateTime[20];
dates[0] = Convert.ToDateTime(initial_date);
for (int i = 1; i < 20; i++)
{
dates[i] = initial_date.AddYears(1);
}
运行此代码时发生了什么? – doogle
难道你不想'日期[i] = initial_date.AddYears(i);'所以你没有日期时间1-> 20作为同一日期?这是你遇到的问题吗?顺便说一句,DateTime是不可变的,所以你运行它的任何方法来创建一个新的DateTime将返回一个新的DateTime实例,而不会改变你执行该方法的那个。 –
从数据库中选择的第一个值是2012年1月20日,我想要一个包含值1/20/2012,1/20/2013,1/20/2014 ....等等的数组持续20年。最后一个值(日期[19])必须是1/20/2032 –