我想使用object
类型作为参数,以便从各种类型(int,string,datetime
等)获取值,并返回对象的字符串表示。
但我对DateTime
有疑问。我知道object
是DateTime
的父类,因此没有任何子类的方法。
那么有没有办法从object
复制一些值并实例化一个新的DateTime
对象
或者还有其他方法。
public static string getStringOfValue(object value)
{
// all of this List is used for type checking //////////////
List<object> _number_type_list = new List<object>()
{
typeof(byte), typeof(sbyte), typeof(int), typeof(long),
typeof(short), typeof(ushort), typeof(uint), typeof(ulong),
typeof(float), typeof(float), typeof(decimal)
};
List<object> _string_type_list = new List<object>()
{
typeof(char),typeof(string)
};
List<object> _boolean_type_list = new List<object>()
{
typeof(bool)
};
//////////////////////////////////////////////////
// used for format string of DateTime
string SQL_DATETIME_FORMAT = "YYYYMMdd hhmmss.fff";
var value_type = value.GetType();
var value_string = "";
if (_number_type_list.Contains(value_type) || _boolean_type_list.Contains(value_type))
{
value_string = value.ToString();
}
else if (_string_type_list.Contains(value_type))
{
value_string = "'" + value + "'";
}
else if (value.GetType() == typeof(System.DateTime))
{
//// how can I use format string method of DateTime ////
value_string = value.ToString();
// value_string = value.ToString(SQL_DATETIME_FORMAT);
////////////////////////////////////////////////////////
}
return value_string;
}
答案 0 :(得分:1)
如何使用
的格式字符串方法DateTime
在拨打电话前将value
投放到DateTime
:
value_string = ((DateTime)value).ToString(SQL_DATETIME_FORMAT);