我的VB执行如下:
?Format("12:01:59", "hh:mm:ss AMPM")
12:01:59 下午
(我认为应该是12:01:59 上午)?Format("0:04:34", "hh:mm:ss AMPM")
12:04:34 上午
(我认为应该是00:04:34 上午)正确的说法倒地应该是什么?(习惯和学术不一样吗?)
所说的“上午12点”应该是“中午的12点”还是“半夜的12点”?

解决方案 »

  1.   

    谢谢lionking13520(尚尚)的回答,看来zq972的回答也对了。可是对电脑不了解的一般人不太可能看懂吧?是不是还应该写个函数,把0点和12点转换一下?请看看这么描述对不对:
    0:00:00-->0:59:59  : 转换为“上午0点”或“下午12点”(倾向于上午0点,如果是下午12点的话,日期应该是头一天)
    12:00:00-->12:59:59  : 转换为“下午0点”或“上午12点”
      

  2.   

    是啊,对于时间的描述,我有点晕了。
    我承认,的确不知道编程中的“上午”是半夜0:00:00--中午的11:59:59。不过平时大家所说的“上午12点”,指的是几点?
    我到Google用“上午12点”查询,指的都是中午的12点(12:00:00)。我还没有找到哪个其他网站描述的“上午12点”指的是半夜12点。我越来越晕了。重复一下问题:
        ?Format("12:01:59", "hh:mm:ss AMPM")
        返回:12:01:59 下午 
        (可我认为应该是12:01:59 上午)    ?Format("0:04:34", "hh:mm:ss AMPM")
        返回:12:04:34 上午
        (我认为应该是00:04:34 上午)
      

  3.   

    Text1.Text = Format("00:04:34", "hh:mm:ss AM/PM")
    显示为12:04:34 AM
    Text2.Text = Format("12:04:34", "hh:mm:ss AM/PM")
    显示为12:04:34 PM
    由此可见显示时间的显示时间的格式为:
    一天以2个12个小时来显示时间而不是用24小时来显示~~
    但是电脑上的"上午"是在平时我们讲的半夜0:00:00--中午的11:59:59;
    "下午"在中午的12:00:00的晚上11:59:59~~
      

  4.   

    这个问题应该抛开上午/下午不管,而理解为Format函数在这种格式的调用下,返回的值是不会出现0点的,而只会是1点、2点、……、12点。
      

  5.   

    楼主你不要以中国人的习惯去理解这个问题了。
    在12小时制的英语表达中,12:00:00 AM指的是我们所说的凌晨0点,12:00:00 PM指的是中午12点。
    在12小时制的英语表达中是没有0点的概念的。
      

  6.   

    Dim strTime24 As String, strTime12 As StringstrTime12 = Format(dTime, "hh:mm:ss AMPM")
    strTime24 = Format(dTime, "hh:mm:ss")strTime12 = Replace(strTime12, "AM", "上午")
    strTime12 = Replace(strTime12, "PM", "下午")
    Select Case strTime24
        Case Is < "01:00:00"
            Friedly_Time_Format = Replace(strTime12, "上午", "午夜")
        Case Is < "06:00:00"
            Friedly_Time_Format = Replace(strTime12, "上午", "凌晨")
        Case Is < "08:00:00"
            Friedly_Time_Format = Replace(strTime12, "上午", "早晨")
        Case Is < "12:00:00"
            Friedly_Time_Format = strTime12
        Case Is < "14:00:00"
            Friedly_Time_Format = Replace(strTime12, "下午", "中午")
        Case Is < "18:00:00"
            Friedly_Time_Format = strTime12
        Case Is < "20:00:00"
            Friedly_Time_Format = Replace(strTime12, "下午", "晚上")
        Case Is < "24:00:00"
            Friedly_Time_Format = Replace(strTime12, "下午", "夜间")
    End Select
    End Function
      

  7.   

    ........我们自己得习惯,怎么能和外国一样呢?
    编程语言毕竟是外国人发明了.
    人家是12小时制.
    你不用去叫这个真.只要你了解就好.
    难道人家夸你帅,你说 哪有啊~~那里哪里~``人家外国人就得翻译成 where??