将 DataRow 中的 DateTime 转换为格式化的日期字符串
Convert DateTime in DataRow to a formatted date string
我希望有些东西我没有看清楚,但为了简化,我有以下代码
foreach (DataRow row in dt.Rows)
{
row["StartOn"] = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
}
如果我 运行 下面的代码我得到“Aug 09”
Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
如果我查看此更改后行 [“StartOn”] 中的内容,它包含“8/9/2016 12:00:00 AM”
我无法将我的 DataRow 格式化为 "MMM dd" 格式
StartOn 显然是 DateTime 类型。 DateTime 类型没有格式。它们是指定年、月、日和时间(以及其他内容)的对象。您在转换过程中所做的只是去掉时间,以便新日期时间的时间为 12:00 am.
什么是dt.Columns["StartOn"]
。我怀疑这是 DateTime
。让我将您的单行代码分解为两行。
string s = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
row["StartOn"] = s;
在第 1 行中,您将 DateTime
对象转换为字符串对象。但是在第 2 行,您隐式地将 string
转换为 DateTime
var dt = new DataTable();
dt.Columns.Add("StartOn", typeof(DateTime));
dt.Rows.Add(DateTime.Today);
foreach (DataRow row in dt.Rows) {
var data = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
Console.WriteLine($"Type of stored data is: {data.GetType()}");
row["StartOn"] = data;
}
// fetch the data
var fetchedData = dt.Rows[0][0];
Console.WriteLine($"Type of Fetched Data is: {fetchedData.GetType()}");
顺便说一句,您可以使用下面的行进行转换
((DateTime)row["StartOn"]).ToString("MMM dd");
我希望有些东西我没有看清楚,但为了简化,我有以下代码
foreach (DataRow row in dt.Rows)
{
row["StartOn"] = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
}
如果我 运行 下面的代码我得到“Aug 09”
Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
如果我查看此更改后行 [“StartOn”] 中的内容,它包含“8/9/2016 12:00:00 AM”
我无法将我的 DataRow 格式化为 "MMM dd" 格式
StartOn 显然是 DateTime 类型。 DateTime 类型没有格式。它们是指定年、月、日和时间(以及其他内容)的对象。您在转换过程中所做的只是去掉时间,以便新日期时间的时间为 12:00 am.
什么是dt.Columns["StartOn"]
。我怀疑这是 DateTime
。让我将您的单行代码分解为两行。
string s = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
row["StartOn"] = s;
在第 1 行中,您将 DateTime
对象转换为字符串对象。但是在第 2 行,您隐式地将 string
转换为 DateTime
var dt = new DataTable();
dt.Columns.Add("StartOn", typeof(DateTime));
dt.Rows.Add(DateTime.Today);
foreach (DataRow row in dt.Rows) {
var data = Convert.ToDateTime(row["StartOn"].ToString()).ToString("MMM dd").ToString();
Console.WriteLine($"Type of stored data is: {data.GetType()}");
row["StartOn"] = data;
}
// fetch the data
var fetchedData = dt.Rows[0][0];
Console.WriteLine($"Type of Fetched Data is: {fetchedData.GetType()}");
顺便说一句,您可以使用下面的行进行转换
((DateTime)row["StartOn"]).ToString("MMM dd");