gpt4 book ai didi

c# - C# 中的日期时间格式化

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:05 25 4
gpt4 key购买 nike

我在 C# 和 Sql 服务器中也有 DateTime 数据类型。现在,在插入一个值时,它会尝试插入“12-08-2015 23:06:10”,但 Sql Server 接受 12 小时格式的日期时间。所以,它的抛出错误。

我尝试了以下方法来转换日期:

1) Convert.ToDateTime(DateTime.Now.ToString("G"));

2) Convert.ToDateTime(String.Format("{0:G}",DateTime.Now));

我需要以下格式的日期时间:“MM/dd/yyyy HH:mm:ss”上午/下午

如有任何帮助,我们将不胜感激。

完整代码如下:

实体类

[Table("TB_USERS")]
public class Users_mast
{
[Key]
public int user_id { get; set; }

[Column (TypeName="VARCHAR")]
[MaxLength (15)]
[Required]
public string user_fname { get; set; }

[Column (TypeName="VARCHAR")]
[StringLength (10,MinimumLength=1)]
public string user_mname { get; set; } // middle name

[Column(TypeName = "VARCHAR")]
[MaxLength(30)]
[Required]
public string user_lname { get; set; }

[Column (TypeName="VARCHAR")]
[MaxLength(50)]
[Required]
public string user_email { get; set; }

[Column(TypeName = "VARCHAR")]
[MaxLength(10)]
[Required]
public string user_mobile { get; set; }

[Column(TypeName = "VARCHAR")]
[MaxLength(10)]
[Required]
public string username { get; set; }

[Column(TypeName = "VARCHAR")]
[StringLength(10,MinimumLength=6)]
[Required]
public string pwd { get; set; }

[Required]
public DateTime created_date { get; set; }
public DateTime last_modified_date { get; set; } // can be NULL

[Column (TypeName="VARBINARY(MAX)")]
public byte[] user_image { get; set; }

[Column(TypeName = "bit")]
public bool status { get; set; } // Active | Inactive (1 | 0 )
}

上下文类

public class context : DbContext
{
public context()
: base("name=sqlConn")
{
}

public DbSet<Users_mast> Users { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}

最后是调用类

public class test_try
{
context obj = new context();

public void add()
{
obj.Users.Add(new Users_mast() {user_fname="Agnib", user_lname="Pyne", user_email="a@gmail.com", user_mobile="9830972301", username="agnib", pwd="As1232", created_date=DateTime.Now, status=true });
obj.SaveChanges();
}
}

在调用类中,“created_date=DateTime.Now”抛出错误。

请帮忙。

最佳答案

您不必担心日期格式。只需将参数添加为 Date 类型:

cmd.Parameters.Add("@Date", SqlDbType.Date).Value = DateTime.Now;

我假设您正在使用参数,您应该使用参数来避免 SQL 注入(inject)问题。

编辑:正如我看到的其他答案,请不要将日期转换为字符串以将其插入数据库,这不是必需的。

关于c# - C# 中的日期时间格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com