如何将2d30m这样的字符串格式更改为timepan?

万天

我不知道2d30m在编程语言中这种格式叫什么但是,我看到一些Jquery插件或Youtube跳到时间网址,例如&t=3m11s使用这种时间格式。谷歌很难,因为我不知道excat关键字。

因此,我想使用这种格式并将其转换为TimeSpanC#对象。我该如何实现?

现在,我正在尝试通过此代码从字符串中提取值

public static void Main()
{
    String str = "2d30m";
    int day = 0, minute = 0;
    //Get Day
    day = Helper(str, "d");
    //Get Minute
    minute = Helper(str, "m");
    //Create timespan
    var myTimeSpan = new TimeSpan(days: day, hours: 0, minutes: minute, seconds: 0);
    Console.Write(myTimeSpan);
}

public static int Helper(string input, string timeCode)
{
    int output = 0;
    int indexOf = input.LastIndexOf(timeCode, StringComparison.OrdinalIgnoreCase);
    if (indexOf > 0)
    {
        string strTime = input.Substring(Math.Max(0, indexOf - 2), 2);
        Console.WriteLine(strTime);
        strTime = System.Text.RegularExpressions.Regex.Replace(strTime, "[^0-9.]", ""); // remove all alphabet
        output = Convert.ToInt32(strTime);
    }

    return output;
}
EVK

您可以使用TimeSpan.ParseExact

var str = "2d30m";
// d matches both 1 and 2 digit days
// \d means literal "d"
// m matches both 1 and 2 digit minutes
// \m is literal "m"
var timeSpan = TimeSpan.ParseExact(str, @"d\dm\m", CultureInfo.InvariantCulture);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将字符串Time = 2:30 PM更改为TimeSpan = 14:00

如何将字符串更改为格式化的字符串?

LinQ如何将像1这样的整数更改为字符串001

Javascript:如何将字符串格式的值更改为数组?

如何将字符串数组更改为数组。String []到ArrayList <string>格式转换

如何将for循环的输出格式更改为字符串而不是列表?

Python:如何将字符串格式的Multipolygon更改为列表

如何将 .getMergedRanges() 从字符串更改为范围?

如何将字符串更改为数字

如何将字符串更改为数组(哈希)?

如何将字符串更改为小写?

如何将空字符串更改为NULLS

如何将字符串更改为数组

如何将字符串更改为数组?

如何将列表正确更改为字符串?

如何将字典更改为字符串

如何将很长的字符串更改为整数

如何将千位分隔符更改为格式字符串中的撇号

如何将格式从字符串更改为数字,数组中的第一行除外

如何将熊猫数据框的数据类型更改为具有定义格式的字符串?

如何将字符串向量更改为拆分字符串后得到的子字符串?

如何将字符串数组列表更改为字符串列表

如何将字符串的字符更改为其他字符?

如何将像`2018911`这样的字符串格式化为日期?

将数字字符串更改为日期格式

将字符串日期更改为所需格式

如何将字符串中的每个字符更改为 'n' 前面?

Fsharp /如何将(字符串* FsTree)列表的类型节点更改为2个路径不能相同的列表

将字符串格式的日期时间更改为仅字符串格式的数据