【问题标题】:How to convert dd/mm to Mysql Datetime format in c#如何在 C# 中将 dd/mm 转换为 Mysql 日期时间格式
【发布时间】:2014-09-18 03:08:35
【问题描述】:

我有一个dd/mm 格式的日期字符串,例如06/03。现在我必须将此字符串以DATETIME 格式存储到mysql 表列中。

我遇到的问题是我如何一般添加当前年份,因为我不想对其进行硬编码。随后我将如何将其转换为 MySql DATETIME 格式以保存它。

请帮帮我。

【问题讨论】:

  • “一般添加当前年份”是什么意思?
  • @Noctis 我的意思是我不想手动提供像2014 这样的年份细节。我希望程序获取当前年份并附加到日期字符串中。

标签: c# mysql datetime


【解决方案1】:

你可以使用Parse DateTime 的方法:

DateTime dateTime = DateTime.Parse("06/03");

更新

您的评论:

同样在解析为 DateTime 之后,我得到了正确的日期,但时间我 不想是上午 12:00:00,而是希望它是 00:00:00。

12:00:00 AM 仅对应于00:00:00。您可以通过获取将返回 0 的 Hour 属性以及 TimeOfDay 也将返回 00:00:00 来验证这一点。

即使您尝试解析确切的日期,它也会创建相同的格式。

DateTime dateTime = DateTime.ParseExact("06/03 00:00:00", "dd/MM hh:mm:ss", 
                                         CultureInfo.InvariantCulture);

而且您不需要从 DateTime 对象转换为符合 SQL 的 DateTime 对象。您可以将 .Net 对象传递给 SQL 编写器。

【讨论】:

  • 好的,我应该如何将它转换成 Mysql DATETIME 格式
  • 同样在解析为DateTime 之后,我得到了正确的日期,但时间我不想成为12:00:00 AM,而是我希望它是00:00:00
  • @user3816352:看我的回答
【解决方案2】:

你可以做类似的事情

var some_date = "06/03";
var year = DateTime.Now.Year;

var option = some_date+"/"+year;

或使用任何字符串格式来满足您的需要

有关日期字符串格式的更多信息,请参见this MSDN 页面。


编辑

如果您想要时间为零,就像您的评论所说的那样,您可以使用 Rohit vats answer 并执行以下操作:

DateTime dateTime = DateTime.Parse("06/03");
var s1 = dateTime.ToString("MM/dd/yy 00:00:00");
// Output: 03/06/14 00:00:00
var s2 = dateTime.ToString("MM/dd/yyyy 00:00:00");
// Output: 03/06/2014 00:00:00

【讨论】:

  • 好的,但是我的格式是dd/MM。请看帖子,这里是MM/dd。它将日期转换为月份,反之亦然
  • ToString() 上将MM/dd 换成dd/MM。如果你愿意,我可以更新答案,但输出会根据你的格式而改变,MSDN 页面有你可能想要或需要的所有铃声和选项:)
  • OK。再查询一下如何发送到mysql DATETIME格式
【解决方案3】:

考虑代码: C#

    string s = "06/03";
    System.DateTime dateNow = Convert.ToDateTime(s);

将根据您的需要提供输出

在 VB.Net 中:

Dim s As String = "06/03"
Dim dateNow As Date = CDate(s)
MsgBox(dateNow)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多