我想在TextBox只小時,以顯示和分鐘從格式轉換時間跨度 「HH:MM:SS」 到 「HH:MM」
var test = dataRow.Field<TimeSpan>("fstart").ToString();
//test ="08:00:00"
var tb = (TextBox) gridViewRow.Cells[2].FindControl("fstart");
tb.Text = test;
怎麼只顯示小時和分鐘"hh.mm"
我想在TextBox只小時,以顯示和分鐘從格式轉換時間跨度 「HH:MM:SS」 到 「HH:MM」
var test = dataRow.Field<TimeSpan>("fstart").ToString();
//test ="08:00:00"
var tb = (TextBox) gridViewRow.Cells[2].FindControl("fstart");
tb.Text = test;
怎麼只顯示小時和分鐘"hh.mm"
您需要將您的數據轉換爲時間跨度,然後使用格式:"hh\:mm"
string test ="08:00:00";
TimeSpan ts = TimeSpan.Parse(test);
Console.Write(ts.ToString(@"hh\:mm"));
你的情況:
var test = dataRow.Field<TimeSpan>("fstart").ToString(@"hh\:mm"));
記住逃脫結腸:
您可以使用時間跨度方法:
ToString("hh':'mm")
// or
ToString(@"hh\:mm")
同時檢查所有可用的格式在這裏http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
var test = dataRow.Field<TimeSpan>("fstart").ToString("hh.mm");
//test ="08:00"
var tb = (TextBox) gridViewRow.Cells[2].FindControl("fstart");
tb.Text = test;
如果輸入包含':',它將在fhrat'hh時失敗.mm' – Habib
There沒有必要從hh.mm.ss
轉換爲hh.mm
。 TimeSpan
被存儲爲多個ticks(1 tick == 100 nanoseconds)。你必須做的是將這個內部的二進制表示轉換成一個可讀的字符串!這就是所謂的格式化。如果您沒有明確指定格式,則將使用默認格式。在這種情況下,hh.mm.ss
。
string formatted = timespan.ToString(@"hh\.mm");
注意:自從.NET 4.0以來,此重載爲ToString
。 它不支持日期和時間佔位符分隔符符號!因此,您必須將它們包含爲(轉義的)字符串文字。
格式化字符串的常用方式似乎不能用於某些奇怪的原因(使用.NET 3.5進行測試)。 (它不會使任何區別,你是否逃脫分隔符與否):
var timespan = TimeSpan.FromSeconds(1234);
string formatted = String.Format("{0:hh.mm}", timespan); // ==> 00:20:34
但是,您可以構建這樣
string formatted =
String.Format("{0:00}.{1:00}", Math.Floor(timespan.TotalHours), timespan.Minutes);
字符串或VS2015開始/ C#6.0,使用字符串插值:
string formatted = $"{Math.Floor(timespan.TotalHours):00}.{timespan.Minutes:00}";
不要忘記TotalHours上的Math.Floor()。 沒有這個29,7h =>獲取轉換爲30:42 ... – ErazerBrecht
以前的解決方案不運行,如果小時> 24,如果你在幾分鐘內非常大
有時間嘗試此解決方案3210int minutes = 159000;
TimeSpan t = new TimeSpan(0, minutes, 0);
String HOURS = Math.Round(t.TotalHours, 0).ToString();
if (HOURS.Length==1)
{
HOURS = "0"+HOURS;
}
String MINUTES = t.Minutes.ToString();
if (MINUTES.Length == 1)
{
MINUTES = "0" + MINUTES;
}
String RESULT = HOURS + ":" + MINUTES;
小費應該是看看[Roslyn CTP](http://www.microsoft.com/en-us/download/details.aspx?id=34685),我發現它非常有用用於在C#中測試格式,如果您使用的是Visual Studio。 – flindeberg