gpt4 book ai didi

c# - 我正在尝试将字符串 ("08:55 AM") 转换为时间跨度

转载 作者:行者123 更新时间:2023-12-03 23:44:12 26 4
gpt4 key购买 nike

我必须将字符串值转换为 TimeSpan。但它显示一个错误。

String was not recognized as a valid TimeSpan.

代码是:

TimeSpan _time = TimeSpan.Parse("08:55 AM");

我知道它可以解析 "08:55" 中的字符串值。但我不需要那个。我必须在字符串中使用 AM 或 PM。在数据库中,列数据类型是time(7),我使用的是entity framework

最佳答案

SQL Time 数据类型不存储时间;相反,它将时间存储为自午夜以来的毫秒数。

"08:55" 的 AM 版本转换为时间跨度相当于说“距午夜 8 小时 55 分钟”,而 PM 版本将是 "20:55 ", "自午夜起 20 小时 55 分钟"。 TimeSpan 对象本身并不进行此计算,但您可以模拟结果。

using System;

public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
DateTime timespan = DateTime.Parse("08:55 AM"); //gives us a DateTime object
DateTime timespan2 = DateTime.Parse("08:55 PM");

TimeSpan _time = timespan.TimeOfDay; //returns a TimeSpan from the Time portion
TimeSpan _time2 = timespan2.TimeOfDay;
Console.WriteLine(_time);
Console.WriteLine(_time2);
}
}

https://dotnetfiddle.net/XVLVPl

关于c# - 我正在尝试将字符串 ("08:55 AM") 转换为时间跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37899869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com