【问题标题】:date object prefixing with # vb.net以 # vb.net 为前缀的日期对象
【发布时间】:2010-11-25 06:57:12
【问题描述】:

我正在编写使用 VB.net 进行日期转换的示例代码。 我面临的问题是它以哈希(#)符号作为前缀和后缀。 例如:#2010-12-12#。

如何去掉#号,让我只能约会。

【问题讨论】:

  • 这个前缀到底发生在哪里?在控制台上,在调试器中,...?
  • 发布代码也会有所帮助。见tinyurl.com/so-hints
  • 在调试器中 arrTxLifeReq(0).TransExeDate = Convert.ToDateTime(System.DateTime.Now.ToString("yyyy-MM-dd"))

标签: vb.net


【解决方案1】:

鉴于您的评论,听起来这实际上可能只是在调试器中显示DateTime 的问题。它向您展示了您可以在 VB 中使用的 DateTime 文字形式。这有点像 C# 开发人员担心他们的字符串中有双反斜杠,而实际上这只是调试器显示转义。

DateTime 本身并不真正包含散列,并且任何正常格式的字符串也不会产生散列。如果您想在没有哈希的情况下查看它,请添加手表

arrTxLifeReq(0).TransExeDate.ToString()

作为您真实程序一部分的代码是否有任何问题?如果是这样,请发布这些问题的详细信息,而不仅仅是调试器显示的内容。

【讨论】:

  • 实际上,我需要将日期发送到 xml。当我在 vb.net 中这样做时,值没有出现。在接收端,TransExeDate 是空的。
  • @Madhu:那么 2010-12-12 是从哪里来的呢?您应该编辑您的问题,以提供更多有关您实际尝试做的事情的详细信息。
  • 在 xml 中, 的数据类型是日期。所以当我在 vb.net 中分配 arrTxLifeReq(0).TransExeDate = System.DateTime.Now() 时,接收端的实际 xml 中没有出现该值
  • @Madhu:嗯,我们需要更多关于所涉及代码的信息。您应该大量编辑您的问题(不要只是在此处添加 cmets)或开始一个新问题。
  • 谢谢乔恩,我通过添加 arrTxLifeReq(0).TransExeDateSpecified = True 解决了这个问题。
【解决方案2】:

只需将 # 替换为 ''

例如

string dt = "#2010-12-12#";

dt = dt.Replace ("#","");

【讨论】:

    猜你喜欢
    • 2013-08-20
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2013-03-10
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    相关资源
    最近更新 更多