如何将13/05/2019(dd/mm/yyyy(字符串转换为2019-13-05(yyyy-dd-mm( dateTime dateTime 在C#中,SQL drever期望yyyy-dd-mm格式datatype
string dateTime = "05/13/2019";
if (animalAdoption.AdoptionId != 0)
{
AnimalsAndBirdsAdoption animalsAndBirdsAdoption = new AnimalsAndBirdsAdoption()
{
AnimalsAndBirdsId = animalAdoption.AnimalId,
DonarDetailsId = userId,
Term = model.Term,
PeriodOfAdoption = dateTime,
isActive = true,
Amount = animalAdoption.amount
};
if (context.AnimalsAndBirdsAdoptions.Any(e => e.Id == animalAdoption.AdoptionId))
{
context.AnimalsAndBirdsAdoptions.Attach(animalsAndBirdsAdoption);
}
else
{
context.AnimalsAndBirdsAdoptions.Add(animalsAndBirdsAdoption);
}
}
我得到的
您只需使用以下示例即可使用所需格式:
string dateTime = "05/13/2019";
CultureInfo provider = CultureInfo.InvariantCulture;
// It throws Argument null exception
DateTime dateTime10 = DateTime.ParseExact(dateTime, "yyyy/dd/mm", provider);
string dateTime = "13/05/2019";
var splittedDateTime = dateTime.Split('/');
DateTime myDate = new DateTime(int.Parse(splittedDateTime[2]), int.Parse(splittedDateTime[1]), int.Parse(splittedDateTime[0]));
将英国日期字符串转换为datetime
public DateTime? ToDateTime(string text)
{
DateTime? returnValue = null;
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-GB");
DateTime d = new DateTime();
if(DateTime.TryParse(text, cultureInfo, System.Globalization.DateTimeStyles.None, out d))
{
returnValue = d;
}
return returnValue;
}
将日期时间转换为字符串yyyy-mm-dd:
public string ToBigEndianString(DateTime? date)
{
string returnValue = null;
if(date != null)
{
returnValue = date.Value.ToString("yyyy-MM-dd");
}
return returnValue;
}
然后您可以将它们放在一起:
public string ToBigEndianString(string ukDate)
{
DateTime? d = ToDateTime(ukDate);
return ToBigEndianString(d);
}
但是您可以将日期时间传递到SQL存储过程。https://learn.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlparametercollection.addwithvalue?view=netframewiewtramework = netframework-4.8
更改ofereofadoption的数据类型type System.DateTime
,然后您可以使用具有许多过载的DateTime构造函数初始化属性。
如果您的字符串格式始终以:'2019-13-05'的形式yyyy-dd-mm形式您可以通过使用.Split('-')
字符串函数来提取年度和一天的年度,或者如果其格式为'2019/13/05'您可以在'/'中拆分'/',例如。.Split('/')
。
然后,您可以使用构造函数这样创建DateTime
对象(您可以在此处查看https://learn.microsoft.com/en-us/dotnet/api/system.datemen.datetime.-ctor?view=netframework-4.8(:
构造函数:
public DateTime (int year, int month, int day);
初始化:
PeriodOfAdoption = new DateTime(2019, 5, 13)
所以将其放在一起:
var dateTime = '2019/13/05';
var dateParts = dateTime.Split('/');
PeriodOfAdoption = new DateTime(Int32.parse(dateParts[0]), Int32.parse(dateParts[1]), Int32.parse(dateParts[2]));
如果您需要C#侧的string
,则在C#中非常简单,并且在线有很多示例