从C#.Net中的SQL Datetime字段中提取日期的最佳方法?

时间:2009-11-20 11:03:36

标签: c# sql-server

从C#.Net中的SQL Datetime字段中提取日期的最佳方法是什么?

3 个答案:

答案 0 :(得分:0)

使用DataReader有以下几种方法:

  1. reader.GetDateTime(ColumnNumber)
  2. (DateTime)reader[ColumnNumber]
  3. Convert.ToDateTime(reader[ColumnName])

答案 1 :(得分:0)

SqlCommand cmd = new SqlCommand("SELECT BeginDate FROM table_name ");
DateTime beginDate = (DateTime)cmd.ExecuteScalar();

答案 2 :(得分:0)

如果您没有使用自动翻译日期时间格式的ORM映射器/框架,基于数据库服务器的配置,我将假设您尝试手动执行此操作。还假设您正在使用SQL Server。

它不理想,但更好的是确保您以已知格式从数据库中获取日期时间(您的数据库服务器可能配置为您的Web / app服务器的不同语言环境 - 无论出于何种原因)

查看this article的SQL转换功能:

CONVERT(data_type,expression,date Format style)

美国mm / dd / yy - 选择转换(varchar,getdate(),1)

ANSI yy.mm.dd - 选择convert(varchar,getdate(),2)

英国/法国dd / mm / yy - 选择转换(varchar,getdate(),3)

......等等。

一旦获得了查询数据,请使用转换静态类:

Convert.ToDateTime(reader["DateColumn"])