请查看以下代码:
DateTime timerTest = timerView;
txbTimer.Text = timerTest.Day + "/" + timerTest.Month + "/" + timerTest.Year + " " + timerTest.Hour + ":" + timerTest.Minute;
我想在txbTimer
中得到日期和时间。如果日期是14/8/2015 14:10
但是当时间(分钟)是01 - 09时,txbTimer
将成为2015年8月14日14:1,在这种情况下,我希望预期输出像14:01而不是14:1
请帮帮我
我的代码是
我认为增加小时和天数的行可能会改变,所以这里是更新的代码。
DateTime timerView = DateTime.Now;
DateTime timerTest = timerView;
if(robHour.Checked == true)
timerTest = timerView.Add(new TimeSpan(0, 1, 0, 0));
else if(robDay.Checked == true)
timerTest = timerView.Add(new TimeSpan(1, 0, 0, 0));
txbTimer.Text = timerTest.ToString(); //timerTest.Day + "/" + timerTest.Month + "/" + timerTest.Year + " " + timerTest.Hour + ":" + timerTest.Minute.ToString();
答案 0 :(得分:5)
DateTime timerTest = timerView;
var result = timerTest.ToString("dd/M/yyyy hh:mm");
/*
dd -> two digit day
M -> one digit month
yyyy -> four digit year
hh -> two digit hour
mm -> two digit minute
*/
:(00-23)看起来像00,01..23 hh :(上午01点到下午12点)看起来像01,02..12。
答案 1 :(得分:5)
使用此
timerTest.Minute.ToString("D2");
要获得更多格式,请按照link
进行操作以下是MSDN提供的示例
1234.ToString("D") -> 1234 (-1234).ToString("D6") -> -001234
答案 2 :(得分:4)
DateTime
的source code返回整数。这意味着它不能有任何前导零。
您可以使用Minute
property获取带有前导零的字符串表示形式,用于单位数分钟。
顺便说一下,你的方法不是获取DateTime字符串表示的好方法。将ToString()
方法与/
作为mm
format specifier且:
作为DateSeparator
(例如:TimeSeparator
)的文化更好。< / p>
txbTimer.Text = timerTest.ToString("dd/M/yyyy HH:mm", CultureInfo.InvariantCulture);
这里有 InvariantCulture
。
答案 3 :(得分:2)
这将解决您面临的问题
DateTime timerView = DateTime.Now;
DateTime timerTest = timerView;
if(robHour.Checked == true)
timerTest = timerView.Add(new TimeSpan(0, 1, 0, 0));
else if(robDay.Checked == true)
timerTest = timerView.Add(new TimeSpan(1, 0, 0, 0));
txbTimer.Text = timerTest.Day +
"/" + timerTest.Month + "/" +
timerTest.Year + " " + timerTest.Hour +
":" + timerTest.Minute.ToString("D2");
答案 4 :(得分:1)
您可能想要使用DateTime Format strings:
txbTimer.Text = timerTest.ToString("d/M/yyyy HH:mm");
工作示例here。
另请查看其中一个pre-defined standard formats。
答案 5 :(得分:0)
要获取DateTime的分钟部分作为00到59之间的数字,请使用“ mm”自定义格式说明符。
DateTime dateTime = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(dateTime.ToString("mm"));
// Displays "01"
文档: