我有一個日期問題。我不能讓.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 –