我正在获取当前时间并尝试将其拆分为两个单独的变量。 我希望时间不到12小时
当我这样做时,第一个和第二个变量是相同的。我该如何解决这个问题?
int hour = DateTime.Now.Hour % 12;
if (hour == 0) hour = 12;
然后,
FirstDigitHour = hour / 10;
secondDigitHour = hour % 10;
这里的时间是下午6点所以FirstDigitHour& secondDigitHour both = 6
第一个数字应该等于0
答案 0 :(得分:7)
如果您正在尝试格式化显示时间,我建议您使用正确的格式字符串:
DateTime.Now.ToString("hh tt")
使用AM / PM( tt )的2位12小时格式( hh )的时间
答案 1 :(得分:3)
这不会更好地满足您的需求
var x = DateTime.Now.ToString(“hh”);
它返回一个12小时格式的小时字符串(例如“01”或“02”......“11”“12”)
然后你就可以得到第一和第二位数字
int firstDigit = Convert.ToInt32(x [0] .ToString());
int secondDigit = Convert.ToInt32(x [1] .ToString());
答案 2 :(得分:2)
似乎对我来说很好。
int hr = 18; // 6pm
int hour = hr % 12;
if (hour == 0)
hour = 12;
int fd = hour/10;
int ld = hour%10;
在这种情况下,我有fd = 0
和ld = 6
。
请参阅it run。
答案 3 :(得分:0)
检查是否有第二个数字...如果DateTime.Now.Hour> 10.然后你就拥有它。