2014-03-12 77 views
0

字符串显示包含此值:获取特定值的文本框C#

1952年3月14日12:00:00 AM

现在我想展示只有在文本框中的日期不是时间我该怎么做?

1952年3月14日

+0

我想喜欢使用'Substring'。 'sValue.Substring(sValue.IndexOf(”“))'。 – 2014-03-12 08:39:15

回答

2

您可以使用string.Split,会给你字符串数组和所需的日期字符串为zero指数。

string date = str.Split(' ')[0]; 
+0

哇我怎么能忘了分裂。由于 –

+0

欢迎您。 – Adil

3

我认为最安全的方法是将它与DateTime.ParseExact方法解析到DateTime和使用"d" standard date and time format

作为一个例子;

string s = "3/14/1952 12:00:00 AM"; 
DateTime dt = DateTime.ParseExact(s, 
            "M/dd/yyyy HH:mm:ss tt", 
            CultureInfo.InvariantCulture); 
Console.WriteLine(dt.ToString("d")); 

输出将;

3/14/1952 

这里一个demonstration

解析过程结束后,您可以在TextBox中使用此值,并使用.Text属性;

TextBox1.Text = dt.ToString("d"); 
1

试试这个:

由于您使用一个分裂的空间,你不必指定空格字符。

string MyString ="3/14/1952 12:00:00 AM"; 
string date=MyString.Split()[0]; 

OR

string date=MyString.Split().First(); 
1

有2个解决方案:
1.解析它的日期时间,然后将其转换为您的字符串格式

var dateTime = DateTime.Parse("3/14/1952 12:00:00 AM"); 
var yourString = datetime.ToString("M/dd/yyyy"); 

2.只是字符串分割它.Split方法

string yourString = str.Split(' ')[0];