1

是否可以将 NOW() 的输出格式化为显示的字符串YYYY-MM-DD

这是 NOW() 的输出:29/02/2012 12.07.37

原因是,我需要在查询中使用当前日期。

QUERY 只接受格式为 YYYY-MM-DD 的日期。我无法直接从单元格中获取日期,因为它被格式化为(即使我更改了格式):DD/MM/YYYY

也许一些正则表达式?

4

3 回答 3

3

如果这应该是单元格内公式,那么您可以使用

=TEXT(NOW(),"yyyy-mm-dd")

于 2012-02-29T13:26:18.073 回答
3

我将遵循 JMax 的建议并将我的评论转换为答案。

Now()以数字形式返回当前日期和时间。整数部分给出日期,小数部分给出时间。如果您打印或显示该日期,则默认以 Microsoft 认为的本地格式提供完整日期。

Format(expn, fmt)允许您将表达式转换为字符串。例如:

Dim DateStg as String

DateStg = Format(Now(),"yyyy-mm-dd")

fmt定义expn要转换成的格式。 fmt是代码字母(如:“yyyy”、“mm”、“dd”)和标点符号(如“-”)的混合。“yyyy-mm-dd”似乎可以满足您当前的需求,但您也可以使用以下格式来格式化日期:

  • "mmm" 给出三个字母的月份(Jan、Feb 等)
  • "mmmm" 给出月份的全名(一月、二月等)
  • "ddd" 给出三个字母的星期几(周一、周二等)
  • "dddd" 给出星期的全名(星期一、星期二等)
于 2012-02-29T13:53:29.493 回答
1

在 VB.net 中,您可以执行以下操作:

Dim dateStr As String = Now().ToString("yyyy-MM-dd")

在 C# 中,您可以这样做:

String  dateStr = DateTime.Now.ToString("yyyy-MM-dd");
于 2012-02-29T13:19:09.247 回答