将分钟转换为全时C#

时间:2012-01-11 12:26:03

标签: c# datetime time

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

有一种简单的方法可以解决这个问题吗?

7 个答案:

答案 0 :(得分:29)

使用TimeSpan.FromMinutes

var result = TimeSpan.FromMinutes(1815);

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

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

答案 1 :(得分:3)

你可以使用这个功能


//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);

答案 2 :(得分:1)

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

答案 3 :(得分:1)

        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();

答案 4 :(得分:0)

您可以使用此功能获取所需的字符串

  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";
}

答案 5 :(得分:0)

在剃须刀中,这条线解决了我的同样情况

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

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

  

2 h 55 m =>英语

     

2 sa 55 dk =>土耳其语

     

2 ora 55 min =>意大利语

答案 6 :(得分:0)

我喜欢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;
    }
}