asp.net c# での日付変換に問題があります。GeneralMethods クラスに次のメソッドがあります
public DateTime mySqlDateFormate(string dateString, string format="g")
{
dateString = isOk(dateString) ? dateString : DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
CultureInfo provider = CultureInfo.InvariantCulture;
// Parse date-only value with invariant culture.
try
{
result = DateTime.ParseExact(dateString, format, provider);
//Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (Exception exc)
{
catchError(exc);
}
return result;
}
次のように、ページからこのメソッドにパラメーターを送信しています。
protected void Page_Load(object sender, EventArgs e)
{
if(gm.isOk((string)Session["userid"])){
var sqlAry = "SELECT sno,std_name,gender,nic,father_name,father_nic,guardian_name,guardian_nic,dob,domicile,addres,reg_date,last_institute FROM std_basic_info WHERE sno = " + (string)Session["std_sno"];
DataTable data = gm.dataTable(sqlAry);
foreach (DataRow row in data.Rows)
{
snoTbl = row["sno"].ToString();
std_nameTbl = row["std_name"].ToString();
genderTbl = row["gender"].ToString();
nicTbl = row["nic"].ToString();
father_nameTbl = row["father_name"].ToString();
father_nicTbl = row["father_nic"].ToString();
guardian_nameTbl = row["guardian_name"].ToString();
guardian_nicTbl = row["guardian_nic"].ToString();
dobTbl = row["dob"].ToString();
domicileTbl = row["domicile"].ToString();
addresTbl = row["addres"].ToString();
reg_dateTbl = row["reg_date"].ToString();
institutionLstAttendedTbl = row["last_institute"].ToString();
}
this.std_sno.Value = snoTbl;
this.stdName.Text = std_nameTbl;
if (genderTbl.Equals("1")) { this.sex.SelectedIndex = 0; } else { this.sex.SelectedIndex = 1; }
this.stdNic.Text = nicTbl;
this.fatherName.Text = father_nameTbl;
this.fatherNic.Text = father_nicTbl;
this.guardianName.Text = guardian_nameTbl;
this.guardianNic.Text = guardian_nicTbl;
this.dob.Text = gm.mySqlDateFormate(dobTbl,"d").ToString();
this.domicile.Text = domicileTbl;
this.institutionLstAttended.Text = institutionLstAttendedTbl;
this.address.Text = addresTbl;
}
}
mySql テーブルの dob 列の値は次のとおりです。
1978-04-23
すべてうまくいきますが、テーブルから値をフェッチすると、次のように表示されます。
1/1/0001 12:00:00 AM
テキストフィールドに元の値が表示されませんか?
誰かこれで私を助けてください...
ありがとう