仅从字符串中获取特定值以在文本框C#中显示

时间:2014-03-12 07:26:11

标签: c# .net string winforms

该字符串包含以下值:

  

3/14/1952 12:00:00 AM

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

  

1952年3月14日

4 个答案:

答案 0 :(得分:3)

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

作为一个例子;

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 :(得分:2)

您可以使用string.Split为您提供字符串数组,并且您所需的日期字符串为zero索引。

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

答案 2 :(得分:1)

试试这个:

由于您正在使用空格进行拆分,因此您无需指定空格字符。

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

OR

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

答案 3 :(得分:1)

有两种解决方案:
1.将其解析为datetime,然后将其转换为字符串格式

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

2。只需将其拆分为string.Split方法

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