.net core 如何为.net core 2.0 webapi设置默认日期时间格式
目前在我的本地。API的格式应与SQL Server数据库中的格式相同,即yyyy-mm-dd 但是,当我将应用程序部署到生产服务器时。API要求日期时间格式为yyyy dd mm.net core 如何为.net core 2.0 webapi设置默认日期时间格式,.net-core,asp.net-core-2.0,asp.net-core-webapi,.net Core,Asp.net Core 2.0,Asp.net Core Webapi,目前在我的本地。API的格式应与SQL Server数据库中的格式相同,即yyyy-mm-dd 但是,当我将应用程序部署到生产服务器时。API要求日期时间格式为yyyy dd mm 有没有办法将我的.net核心web api配置为在每个环境中都接受YY-mm-dd作为默认格式?请显示一些代码。您可以在ConfigureServices() 100%的时候,如果我使用的是DateTime,我会为它创建一个接口。到了测试的时候,它只会让生活变得更轻松。我相信这对你也有用 这种方法有几个原因 这是可以
有没有办法将我的.net核心web api配置为在每个环境中都接受YY-mm-dd作为默认格式?请显示一些代码。您可以在
ConfigureServices()
100%的时候,如果我使用的是
DateTime
,我会为它创建一个接口。到了测试的时候,它只会让生活变得更轻松。我相信这对你也有用
这种方法有几个原因
DateTime
的依赖关系从业务逻辑中抽象出来MyAppDateTimeProvider
请包含API的代码。这是一个文化问题。
services
.AddMvc()
.AddJsonOptions(options =>
{
//Set date configurations
//options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
options.SerializerSettings.DateFormatString = "yyyy-MM-dd"; // month must be capital. otherwise it gives minutes.
});
public interface IDateTimeProvider
{
DateTime Now { get; }
string GetDateString(int year, int month, int day);
DateTime TryParse(string sqlDateString);
}
public class SqlDateTimeProvider : IDateTimeProvider
{
public DateTime Now => DateTime.UtcNow;
public string GetDateString(int year, int month, int day)
{
return new DateTime(year, month, day).ToString("yyyy-MM-dd");
}
public DateTime TryParse(string sqlDateString)
{
var result = new DateTime();
DateTime.TryParse(sqlDateString, out result);
return result;
}
}