2016-04-22 185 views
0

在字符串数组中,我有日期字段,我只想为日期格式化日期字段并将其绑定到日期时间对象。如何将日期只从日期时间类型显示到日期时间对象中

string[] strArray = new string[] { 
    "Mahesh Chand", 
    "Mike Gold", 
    "Raj Beniwal", 
    "Praveen Kumar", 
    "7/10/1974 7:10:24 AM" 
}; 

DateTime dateFromString = Convert.ToDateTime(strArray[4]); 
DateTime dt = DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null); 

我没有收到日期。还有日期和时间。

回答

0

使用这样

string[] strArray = new string[] { 
    "Mahesh Chand", 
    "Mike Gold", 
    "Raj Beniwal", 
    "Praveen Kumar", 
    "7/10/1974 7:10:24 AM" }; 

DateTime dateFromString = Convert.ToDateTime(strArray[4]); 

string dt= DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", null).ToString("dd/MM/yyyy"); 
这样你会得到日期字符串

,但如果你只想要日期部分为DateTime型那么它是不可能的,因为在DateTime类型,如果你不指定任何时间,然后它会自动在DateTime

更新添加默认时间12:00:00 AM(00:00:00)

您可以像使用THI献给所有文化

string dt = DateTime.ParseExact(dateTimeString, "dd/MM/yyyy", CultureInfo.InvariantCulture) 
    .ToString("dd/MM/yyyy"); 

,或者你可以简单地使用这样

string[] strArray = new string[] { 
    "Mahesh Chand", 
    "Mike Gold", 
    "Raj Beniwal", 
    "Praveen Kumar", 
    "7/10/1974 7:10:24 AM" }; 

string dateFromString = Convert.ToDateTime(strArray[4]).ToString("dd/MM/yyyy"); 
+0

谢谢回复....它抛出异常 - “system.datetime.parseExact /(string,string,system.IformatProvider)'的最好的重载方法匹配有一些无效的参数 – user1455897

+0

看到我的更新,并确保你的'strArray [4]'有正确的日期字符串为'dd/MM/yyyy' – Mostafiz

+0

感谢雷曼发布回复.....实际上,我有一个数据表与排序功能。如果我将日期格式转换为字符串,我无法对数据表进行排序。 – user1455897

1

你可以只DateTimeDateTime对象是这样的:

DateTime dateFromString = Convert.ToDateTime(strArray[4]); 
var onlyDate = dateFromString.Date; 
// Display date using short date string. 
Console.WriteLine(onlyDate .ToString("d")); 

More info on MSDN

+0

排序,这将在默认情况下增加12:00:00 AM – Mostafiz

+1

你永远不会有'DateTime'没有时间,它的名字。您唯一的选择是使用字符串格式,并将其存储为字符串,或者在每次要显示字符串时进行解析。我仍然认为@meorfi答案是正确的,它只需要添加解析部分 – Draken

相关问题