【问题标题】:Excel Macro : How can I get the timestamp in "yyyy-MM-dd hh:mm:ss" format?Excel 宏:如何获取“yyyy-MM-dd hh:mm:ss”格式的时间戳?
【发布时间】:2011-07-24 08:17:40
【问题描述】:

我在 Excel 宏中使用 DateTime.Now 来显示当前时间戳。

它以“dd-MM-yyyy hh:mm:ss”格式显示时间戳。

相反,如何获取“yyyy-MM-dd hh:mm:ss”格式的时间戳?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    尝试:format(now(), "yyyy-MM-dd hh:mm:ss")

    【讨论】:

      【解决方案2】:

      DateTime.Now 返回数据类型为Date 的值。日期变量根据您计算机上设置的短日期格式和时间格式显示日期。

      它们可以被格式化为字符串,以便通过Format 函数以任何有效的日期格式显示,如其他答案中所述

      Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
      

      【讨论】:

        【解决方案3】:
        Format(Now(), "yyyy-MM-dd hh:mm:ss")
        

        【讨论】:

          【解决方案4】:

          如果代码的某些用户有不同的语言设置格式可能无法正常工作。因此,我使用以下代码以“yyymmdd hhMMss”格式给出时间戳,而与语言无关。

          Function TimeStamp()
          Dim iNow
          Dim d(1 To 6)
          Dim i As Integer
          
          
          iNow = Now
          d(1) = Year(iNow)
          d(2) = Month(iNow)
          d(3) = Day(iNow)
          d(4) = Hour(iNow)
          d(5) = Minute(iNow)
          d(6) = Second(iNow)
          
          For i = 1 To 6
              If d(i) < 10 Then TimeStamp = TimeStamp & "0"
              TimeStamp = TimeStamp & d(i)
              If i = 3 Then TimeStamp = TimeStamp & " "
          Next i
          
          End Function
          

          【讨论】:

            【解决方案5】:

            这对我来说效果最好:

                    Cells(partcount + 5, "N").Value = Date + Time
                    Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"
            

            【讨论】:

              【解决方案6】:

              点击类型下的海关类别,复制并粘贴此格式yyyy-mm-dd hh:MM:ss到格式单元格中

              【讨论】:

                【解决方案7】:

                保存工作簿路径的时间戳,“:”需要更改。我使用了“:”->“.”,这意味着我需要将扩展​​名添加回“xlsx”。

                wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"
                

                【讨论】:

                  【解决方案8】:

                  就这么简单,选择你想要的位置,这里我选择D3

                  Sheets("Put your Sheet's name here").Range("D3") = Now
                  

                  例如,我的工作表名为Sources

                  Sheets("Sources").Range("D3") = Now
                  

                  【讨论】:

                    【解决方案9】:

                    使用格式化功能。

                    Format(Date, "yyyy-mm-dd hh:MM:ss")
                    

                    【讨论】:

                    • 别工作! Date 仅包含日历日期,但小时、分钟和秒固定为 0:00:00 !您必须改用Now() ..
                    猜你喜欢
                    • 2017-07-09
                    • 2015-10-08
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-10-05
                    • 2013-06-16
                    • 2020-03-07
                    • 2020-08-29
                    • 2021-04-28
                    相关资源
                    最近更新 更多