2016-08-22 232 views
1

我有一个包含信息的字符串08/23/2016~08:00 - 12:00~D。我想首先将其转换为日期,即08/23/2016,然后将其转换为Tuesday,August 23,2016。是否有可能以这种格式转换它?将字符串转换为日期

+0

所以你不感兴趣的时间信息? – stuartd

+0

@stuartd只有日期号 –

+0

在这种情况下,只需取消日期(即直到第一个代字号),然后很容易解析。 – stuartd

回答

1

string组合 - 和DateTime - 方法

string input = "08/23/2016~08:00 - 12:00~D"; 
string datePart = input.Split('~')[0].Trim(); 
DateTime dt; 
if (DateTime.TryParse(datePart, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None, out dt)) 
{ 
    string output = dt.ToString("dddd,MMMM dd,yyyy", DateTimeFormatInfo.InvariantInfo); 
} 

Custom Date and Time Format Strings

+0

感谢您使用简单的解决方案并提供有关日期和时间格式信息的链接。干杯:) –

0

尝试这种方式

string inp = "08/23/2016~08:00 - 12:00~D"; 
string str = inp.Split('-')[0].Trim(); 
DateTime date = DateTime.ParseExact(str, "MM/dd/yyyy~hh:mm", CultureInfo.InvariantCulture); 
string s1 = date.ToString("MM/dd/yyyy"); 
string s2 = date.ToString("dddd,MMMM dd,yyyy");