【问题标题】:ToShortDateString is resulting Time also. How to show Date Only?ToShortDateString 也是结果时间。如何仅显示日期?
【发布时间】:2016-06-09 07:13:19
【问题描述】:
DateSerial(2015, 5, 1).ToShortDateString

结果 01-05-15 12:00:00 AM

我如何获得 01-05-15

GridView控件上使用它

【问题讨论】:

  • 格式是什么? mm-dd-yyyy 还是 dd-mm-yyyy?
  • 只需将正确的格式字符串与 ToString 或 String.Format 一起使用。 ToShortDateString 只是一种方便的方法

标签: asp.net vb.net visual-studio


【解决方案1】:

使用

date.ToString("dd'-'MM'-'yyyy")

(对于显式格式,首先根据您的需要切换 dd 和 MM:日或月)或

date.ToString("d") 

(取决于文化)。

见这里的例子:https://msdn.microsoft.com/en-us/library/zdtaw1bw%28v=vs.110%29.aspx

【讨论】:

  • date.ToString("dd'-'MM'-'yyyy") 仍然得到时间:(
  • 不过我的回答很好。我看到了你的编辑:你已经添加了你正在绑定一个 GridView。这可能是您的问题所在,您的 ToString 方法可能没有像您想象的那样被调用。请发布代码的所有相关部分以进行数据绑定。
  • 你说得对,Gridview 是将列定义为日期的罪魁祸首。只需将其更改为 String 即可。
【解决方案2】:
DateSerial(2015, 5, 1).ToString("dd-MM-yy")

使用 ToString 方法

【讨论】:

  • 我尝试了你的建议,但随着时间的推移得到了相同的结果。
【解决方案3】:

ToString 方法应该可以解决我认为的问题。

date.ToString("dd-MM-yyyy");

这在我的项目中对我有用。你可以在这里查看Custom Date and Time Format Strings

【讨论】:

    【解决方案4】:

    如果您将结果存储在 Date 变量中,它将始终包含 Time 部分:

    Dim dt As Date = DateSerial(2015, 5, 1).ToShortDateString
    

    如果要删除时间部分,则必须使用字符串变量:

    Dim dtstr As String = DateSerial(2015, 5, 1).ToShortDateString
    

    【讨论】:

    • DateTime 有 no 格式,它是一个二进制值,如 int、decimal、double 等。ToShortDateString 返回一个 STRING。您的第一行使用 VB 的隐式转换将此字符串解析为日期。 “修复”只是重复有问题的陈述。要控制 DateTime 值到字符串的格式,您应该使用带有 ToStringString.Format 的正确格式字符串
    • 好的。我用错了词。日期变量是正确的。但是如果你看到两行代码你就能找到重点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2023-03-06
    • 2013-06-30
    • 1970-01-01
    • 2011-08-29
    • 2017-03-26
    相关资源
    最近更新 更多