如何把#2009-01-03 PM03:24:13#
转换成  2009-01-03 13:00:08.000 类似这种模式

解决方案 »

  1.   

    说错了,是如何获得这样的值,不需要截取,#...#是表示日期类型.
    应该用Format函数.
      

  2.   

    摘自MSDN: 用户自定义日期/时间格式 (Format 函数)
          下面表格标识一些可用来创建用户自定义日期/时间格式的字符:字符 说明 
    (:) 时间分隔符。在一些国别,可能用其他符号来当时间分隔符。格式化时间值时,时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。 
    (/) 日期分隔符。在一些国别,可能用其他符号来当日期分隔符。格式化日期数值时,日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。 
    c 以 ddddd 来显示日期并且以 ttttt 来显示时间。如果想显示的数值无小数部分,则只显示日期部分,如果想显示的数值无整数部分,则只显示时间部分。 
    d 以没有前导零的数字来显示日 (1 – 31)。 
    dd 以有前导零的数字来显示日 (01 – 31)。 
    ddd 以简写来表示日 (Sun –Sat)。 
    dddd 以全称来表示日 (Sunday –Saturday)。 
    ddddd 以完整日期表示法显示(包括年、月、日),日期的显示要依系统的短日期格式设置而定。缺省的短日期格式为 m/d/yy。 
    dddddd 以完整日期表示法显示日期系列数(包括年、月、日),日期的显示要依系统识别的长日期格式而定。缺省的长日期格式为 mmmm dd, yyyy。 
    w 将一周中的日期以数值表示(1 表星期日~ 7表星期六)。 
    ww 将一年中的星期以数值表示 (1 – 54)。 
    m 以没有前导零的数字来显示月 (1 – 12)。如果 m 是直接跟在 h 或 hh 之后,那么显示的将是分而不是月。 
    mm 以有前导零的数字来显示月 (01 – 12)。如果m是直接跟在h或hh之后,那么显示的将是分而不是月。 
    mmm 以简写来表示月 (Jan –Dec)。 
    mmmm 以全称来表示月 (January –December)。 
    q 将一年中的季以数值表示 (1 – 4)。 
    y 将一年中的日以数值表示 (1 – 366)。 
    yy 以两位数来表示年 (00 – 99)。 
    yyyy 以四位数来表示年 (00 – 99)。 
    h 以没有前导零的数字来显示小时 (0 – 23)。 
    Hh 以有前导零的数字来显示小时 (00– 23)。 
    N 以没有前导零的数字来显示分 (0 – 59)。 
    Nn 以有前导零的数字来显示分 (00 – 59)。 
    S 以没有前导零的数字来显示秒 (0 – 59)。 
    Ss 以有前导零的数字来显示秒 (00 – 59)。 
    t t t t t 以完整时间表示法显示(包括时、分、秒),用系统识别的时间格式定义的时间分隔符进行格式化。如果选择有前导零并且时间是在 10:00 A.M. 或 P.M.之前,那么将显示有前导零的时间。缺省的时间格式为 h:mm:ss。 
    AM/PM 在中午前以 12 小时配合大写 AM 符号来使用;在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。 
    am/pm 在中午前以 12 小时配合小写 am 符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。 
    A/P 在中午前以 12 小时配合大写A符号来使用;在中午和 11:59 P.M.间以12 小时配合大写P来使用。 
    a/p 在中午前以 12 小时配合小写a符号来使用;在中午和 11:59 P.M.间以 12 小时配合小写p来使用。 
    AMPM 在中午前以 12 小时配合系统设置的 AM字符串文字来使用;在中午和 11:59 P.M. 间以 12 小时配合系统设置的 PM 字符串文字来使用。AMPM 可以是大写或小写,但必须和您的系统设置相配。其缺省格式为 AM/PM。 用户自定义日期/时间格式示例
    下面表格是以用户自定义日期/时间格式来显示 December 7, 1958 的示例:格式 显示结果 
    m/d/yy 12/7/58 
    d-mmm 7-Dec 
    d-mmmm-yy 7-December-58 
    d mmmm 7 December 
    mmmm yy December 58 
    hh:mm AM/PM 08:50 PM 
    h:mm:ss a/p 8:50:35 p 
    h:mm 20:50 
    h:mm:ss 20:50:35 
    m/d/yy h:mm 12/7/58 20:50 
      

  3.   


    这个不行吧,只能转化为2009-01-03 13:00:08格式的
    你给的数据,精度达不到啊
    Format("2009-01-03 PM03:24:13", "yyyy-mm-dd hh:mm:ss")
      

  4.   

    不行呀,Time = Format("2009-01-03 PM 03:24:13", "yyyy-mm-dd hh:mm:ss")
    Time 还是2009-01-03 PM 03:24:13,没有转化成2009-01-03 15:24:13
      

  5.   

    Private Sub Form_Load()
    Dim S As String
        S = Format("2009-01-03 PM03:24:13", "yyyy-mm-dd hh:mm:ss")
      MsgBox S & ".000"
    End Sub
      

  6.   


    如果".000"是毫秒数的话用API获取毫秒数取后三位
      

  7.   

    是这样的. Dim Time as Variant
            Set Rstemp = m_BillInterface.K3Lib.GetData("Select FCheckDate From t_BOS220000004 Where Fid = '" & Fid & "'")
            Time = Format(Rstemp.Fields("FCheckDate"), "yyyy-mm-dd hh:mm:ss")问题一:我添加监视Rstemp ,FCheckDate的Value是#2009-01-04 AM 08:11:32#,而在立即窗口得到FCheckDate是
    2009-01-04 AM 08:11:32,请问这条语句Time = Format(Rstemp.Fields("FCheckDate"), "yyyy-mm-dd hh:mm:ss")中Rstemp.Fields("FCheckDate"), 的值到底是这样#2009-01-04 AM 08:11:32#, 还是2009-01-04 AM 08:11:32
    问题二:
    为什么执行以上语句Time的值仍然是2009-01-04 AM 08:11:32
      

  8.   

    如何把#2009-01-03 PM03:24:13# 
    转换成  2009-01-03 13:00:08.000 类似这种模式
    -------------------------------------------------------------首先说明,你的时间值本身并不包含毫秒分量,它可以显示,但永远为 000:Debug.Print Format(CDate(Replace("#2009-01-03 PM03:24:13#", "#", "")), "yyyy-mm-dd HH:nn:ss.000")
      

  9.   

    这帖子,我问题没有提好,请大家谅解,
    请来http://topic.csdn.net/u/20090104/08/200ea46f-7608-4e16-8538-6f459507b37d.html帮我回答.