【问题标题】:date time showing month value zero日期时间显示月份值为零
【发布时间】:2011-06-20 12:11:09
【问题描述】:

嗨,我使用 mysql 作为数据库,当用户以任何格式在文本框中输入时,它将接受这样的日期格式 (yyyy-mm-dd),它只接受上面列出的格式。我已经使用下面的代码尝试过这个

string dob = tbDob.Text;
DateTime dv = DateTime.Parse(dob);
string format = dv.ToString("yyyy-mm-dd");

但它会将月份显示为零

输入:19-08-1908

输出:1908-00-19

有人能解决这个问题吗...

【问题讨论】:

  • 我已将其重新标记为 C#,因为 sql 和 mysql 在这里都无关紧要,而且语法和 API 名称看起来很像 C#。如果我的解释有误,请更正该标签。

标签: c# datetime date


【解决方案1】:

mm 表示分钟; MM 是一个月。

试试dv.ToString("yyyy-MM-dd")

如果这不是您想要的格式,请尝试:

  • M:数字月份(无前导零)
  • MM:数字月份(前导零)
  • MMM: 缩写月份名称(例如,“Jan”)
  • MMMM:月份全名(例如“一月”)

【讨论】:

  • m is fo Numeric representation of a month, with leading zerosi is for Minutes with leading zeros amd M is for short textual representation of a month, three letters - php.net/manual/en/function.date.php
  • @NAVEED 您正在查看 PHP 手册。虽然这个问题没有被标记为一种或另一种方式,但我们可以从语法上单独看出这显然不是 PHP。
【解决方案2】:

您正在根据“yyyy-mm-dd”格式化字符串。但是你输入的格式是

输入:19-08-1908

所以它以 1908 年为年份,即 19 和 08 的组合,月份为 00,日期为 19(1908 年中的 19 日)。

将输入格式改为 yyyy-mm-dd,以获得正确的输出。

【讨论】:

  • 这应该没有标记,因为它不是正确的答案。 @VoteyDisciple 的解决方案是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多