将分钟转换为全职C#

本文关键字:分钟 转换 | 更新日期: 2023-09-27 18:19:56

我需要将1815分钟转换为30:1530小时15分钟

有没有一种简单的方法可以做到我所缺少的?

将分钟转换为全职C#

使用TimeSpan.FromMinutes:

var result = TimeSpan.FromMinutes(1815);

这将为您提供一个可以以不同方式使用的对象
例如:

var hours = (int)result.TotalHours;
var minutes = result.Minutes;

您可以使用此函数


//minutes to be converted (70minutes = 1:10 hours)
int totalminutes = 70;
//total hours
int hours = 70 / 60;
//total minutes
int minutes = 70 % 60;
//output is 1:10
var time = string.Format("{0} : {1}", hours, minutes);

        DateTime d = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
        Console.WriteLine(d.ToLongTimeString());
        Console.WriteLine(d.AddMinutes(1815).ToLongTimeString());
        Console.ReadLine();

试试TimeSpan.FromMinutes(minutes),这会给你TimeSpan,之后你可以检查TimeSpan.HoursTimeSpan.Minutes的属性。

您可以使用此函数来获得所需的字符串

  public string GetTimeString(int durationInMinute)
  {
            TimeSpan timeSpan = TimeSpan.FromMinutes(durationInMinute);
            if(timeSpan.Hours == 1 && timeSpan.Minutes == 1)
                return timeSpan.Hours + " Hour and " + timeSpan.Minutes + " Min";
            else if (timeSpan.Hours > 1 && timeSpan.Minutes > 1)
                return timeSpan.Hours + " Hours and " + timeSpan.Minutes + " Mins";
            else if (timeSpan.Hours > 1 && timeSpan.Minutes < 1)
                return timeSpan.Hours + " Hours";
            else if(timeSpan.Hours < 1 && timeSpan.Minutes > 1)
                return timeSpan.Minutes + " Mins";
            else if(timeSpan.Hours == 1 && timeSpan.Minutes > 1)
                return timeSpan.Hours + " Hour and " + timeSpan.Minutes + " Mins";
            else if (timeSpan.Hours == 1 && timeSpan.Minutes == 0)
                return timeSpan.Hours + " Hour";
            else if (timeSpan.Hours == 0 && timeSpan.Minutes == 1)
                return timeSpan.Minutes + " Min";
            else
                return timeSpan.Hours + " Hours and " + timeSpan.Minutes + " Mins";
}

在剃须刀中,这一行解决了我的相同情况

@TimeSpan.FromMinutes(@landing.Duration).Hours @R.Hour @TimeSpan.FromMinutes(@landing.Duration).Minutes @R.Minute

带有资源文件的输出给出了如下所示的格式化和文化结果

2小时55米=>英文

2 sa 55 dk=>土耳其

2或55分钟=>意大利

我喜欢Giorgio的解决方案,我对其进行了一些改进,并将其封装在扩展方法中

public static class ToStringFormatter
{
    public static string ToTimeString(this int totalminutes)
    {
        int hours = totalminutes / 60;
        //total minutes
        int minutes = totalminutes % 60;
        //output is 1:10
        var time = $"{hours}:{minutes:00}";
        return time;
    }
}