将字符串“7.30”转换为时间格式 hh:mm
Posted
技术标签:
【中文标题】将字符串“7.30”转换为时间格式 hh:mm【英文标题】:Converting string "7.30" to time format hh:mm 【发布时间】:2021-08-31 21:08:35 【问题描述】:我想将字符串转换为日期时间或时间跨度。我的字符串像这样“7.30”,我需要在 c# 中获得两次差异。我尝试了很多方法,但问题没有解决。
【问题讨论】:
这能回答你的问题吗? Convert string to DateTime in c# 【参考方案1】:date
部分重要吗?无论如何,如果您真的只需要将其转换为时间而不关心日期部分,您可以这样做:
using System;
using System.Globalization;
public class Program
public static void Main()
string inVal = "7.30";
var x = DateTime.ParseExact(inVal, "H.mm", CultureInfo.InvariantCulture);
Console.WriteLine(x);
输出:
2021 年 6 月 16 日上午 7:30:00
此外,您应该查看 Microsoft 的自定义日期和时间格式,以确保您拥有最适合您的用例的格式: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
【讨论】:
【参考方案2】:建议使用 DateTime.TryParseExact 进行 DateTime 转换,方法是指定 DateTime 字符串模式、Culture Info 和 DateTimeStyles。
这将帮助您确定解析后的字符串是否与要转换的 DateTime 字符串模式匹配。接下来,您可以实现自定义逻辑来处理错误的转换。
根据您提供的 DateTime 字符串,我假设它是这种模式(基于 24 小时):
H.mm
解决办法如下:
using System;
using System.Globalization;
public class Program
public static void Main()
DateTime dateTime;
bool isValidDateTime = DateTime.TryParseExact("7.30", "H.mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);
if (!isValidDateTime)
// TO-DO Handling for wrong time format
return;
Console.WriteLine(dateTime.ToString("hh:mm"));
【讨论】:
以上是关于将字符串“7.30”转换为时间格式 hh:mm的主要内容,如果未能解决你的问题,请参考以下文章