获得正确的时间

时间:2011-05-16 01:32:47

标签: c# wpf

我正在获取当前时间并尝试将其拆分为两个单独的变量。 我希望时间不到12小时

当我这样做时,第一个和第二个变量是相同的。我该如何解决这个问题?

int hour = DateTime.Now.Hour % 12;
if (hour == 0) hour = 12;

然后,

FirstDigitHour = hour / 10;
secondDigitHour = hour %  10;

这里的时间是下午6点所以FirstDigitHour& secondDigitHour both = 6

第一个数字应该等于0

4 个答案:

答案 0 :(得分:7)

如果您正在尝试格式化显示时间,我建议您使用正确的格式字符串:

DateTime.Now.ToString("hh tt")

使用AM / PM( tt )的2位12小时格式( hh )的时间

参见文档:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

答案 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 = 0ld = 6

请参阅it run

答案 3 :(得分:0)

检查是否有第二个数字...如果DateTime.Now.Hour> 10.然后你就拥有它。