Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何设置字符串的格式;1900-01-01 08:00:00.000“;只需要HH:MM,再加上30分钟?_C#_String_Datetime_Format_Timespan - Fatal编程技术网

C# 如何设置字符串的格式;1900-01-01 08:00:00.000“;只需要HH:MM,再加上30分钟?

C# 如何设置字符串的格式;1900-01-01 08:00:00.000“;只需要HH:MM,再加上30分钟?,c#,string,datetime,format,timespan,C#,String,Datetime,Format,Timespan,如何将字符串“1900-01-01 08:00:00.000”格式化为HH:MM,并向其添加30分钟。我做了以下几件事 p[0]="1900-01-01 08:00:00.000"; TimeSpan _time = TimeSpan.ParseExact(p[0].ToString(), "HH:mm", CultureInfo.InvariantCulture); TimeSpan addtime = TimeSpan.FromMinutes(30); _time = _time.A

如何将字符串
“1900-01-01 08:00:00.000”
格式化为
HH:MM
,并向其添加
30
分钟。我做了以下几件事

 p[0]="1900-01-01 08:00:00.000";
 TimeSpan _time = TimeSpan.ParseExact(p[0].ToString(), "HH:mm", CultureInfo.InvariantCulture);
 TimeSpan addtime = TimeSpan.FromMinutes(30);
 _time = _time.Add(addtime);

这不是
TimeSpan
,而是
DateTime
TimeSpan
表示时间长度,但
DateTime
将即时时间与日期和时间保持一致

这就是为什么需要使用特定格式将其解析为
DateTime
。之后,您可以使用添加
30
分钟

我希望结果是HH:mm

如果您想将其作为
字符串
,可以使用
DateTime.ToString
方法,如

string result = dt.ToString("HH:mm", CultureInfo.InvariantCulture); // 08:30
如果您想将其作为
TimeSpan
,可以使用like


TimeSpan ts=dt.AddMinutes(30).TimeOfDay@Soner Gonul存在编译错误,您正在为日期指定布尔值variable@VishnuBabu您的意思是作为字符串或时间跨度的
08:30
?您可以为此设置格式。更新了我的答案。@wintersolider是的,这是一种类型。改为
TryParseExact
改为
ParseExact
@musefan我无法确定OP想要
08:30
作为字符串还是时间跨度,所以我将两者都添加了。谢谢
string result = dt.ToString("HH:mm", CultureInfo.InvariantCulture); // 08:30
TimeSpan ts = dt.TimeOfDay; // {08:30:00}