我有一个名为submitted_date
的日期时间列。其中一个在数据库中的价值是 5/12/2017 11:09:50 AM 。现在我想只提取它的日期和月份部分。如何以“May-12”的格式显示它。
我的代码在这里,
using (SqlConnection con = obj.getcon())
{
con.Open();
string query = "SELECT submitted_date FROM sample";
using (SqlCommand command = new SqlCommand(query, con))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string x_val = reader[0].ToString(); // 5/12/2017 11:09:50 AM
}
}
}
con.Close();
}
答案 0 :(得分:1)
要获取字母月份名称,您可以使用MMM
。这是代码:
var result = DateTime.Parse(reader[0].ToString())
.ToString("MMMM-dd", CultureInfo.InvariantCulture);
//if reader[0].ToString(): 5/12/2017 11:09:50 AM then
//result: May-12
答案 1 :(得分:0)
直接在SQL上使用DATEPART,您已完成。
答案 2 :(得分:0)
您可以使用以下方法执行此操作,但您需要知道哪种文化,以便以正确的语言获取月份名称。我在这个例子中使用了美国文化:
string s = reader.GetDateTime(0).ToString("MMMM-dd", CultureInfo.CreateSpecificCulture("en-US"));
这也假设您的submitted_date列是非NULL。
答案 3 :(得分:0)
您可以编写如下查询: 转换(varchar(20),submitted_date,107)submitted_date,它将于2016年12月12日返回日期。
答案 4 :(得分:0)
试试这个:
发件人:强>
string x_val = reader[0].ToString(); // 5/12/2017 11:09:50 AM
要强>
string x_val =DateTime.Parse(reader[0].ToString()).ToString("MMM-dd");