मेरे पास टाइमस्पेन क्लास के साथ एक छोटा सा मुद्दा है जहां यह 23:59 को पार्स कर सकता है लेकिन 24:00 नहीं।टाइमस्पेन पार्सिंग के लिए चारों ओर काम करें 24:00
बेशक क्लाइंट दिन के अंत को 23:59 या 00:00 के बजाय दिन के अंत को इंगित करने के लिए 24:00 दर्ज करना चाहता है क्योंकि 00:00 दिन की शुरुआत दर्शाता है।
वर्तमान में मेरे कोड को पार्स करता है तो जैसे अंत समय:
if (!TimeSpan.TryParse((gvr.FindControl("txtTimeOff") as TextBox).Text, out tsTimeOff))
{
this.ShowValidationError(String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
क्या सबसे अच्छा इस स्थिति के लिए चारों ओर काम करता है?
संपादित करें: (समाधान 1)
if ((gvr.FindControl("txtTimeOff") as TextBox).Text == "24:00")
{
tsTimeOff = new TimeSpan(24, 0, 0);
}
else
{
if (!TimeSpan.TryParse((gvr.FindControl("txtTimeOff") as TextBox).Text, out tsTimeOff))
{
this.ShowValidationError(
String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
}
संपादित करें: (solution2)
string timeOff = (gvr.FindControl("txtTimeOff") as TextBox).Text;
if (!TimeSpan.TryParse(
timeOff == "24:00" ? "1.00:00:00" : timeOff
, out tsTimeOff))
{
this.ShowValidationError(
String.Format("Please enter a valid 'Time Off' on row '{0}'.", gvr.RowIndex + 1));
return false;
}
आप स्ट्रिंग को "24:00" विशेष मामले के रूप में आसानी से संभाल सकते हैं .. – codymanix
@codymanix - t हैंक्स, मैं दोनों विकल्पों को आजमाने की कोशिश कर रहा हूं – WraithNath