该字符串包含以下值:
3/14/1952 12:00:00 AM
现在我想只在文本框中显示日期而不是时间我该怎么做?
1952年3月14日
答案 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];