ABP旧版本

abp默认是不使用mvc的时间格式,所以直接在AddMvc修改DateFormatString是不会生效的。需要先启用mvc时间格式。Configuration.Modules.AbpAspNetCore().UseMvcDateTimeFormatForAppServices = true;

可以在任意一个项目的module的PreInitialize()方法中配置,不过还是推荐在Host项目或者MVC的module中配置,就是startup设置的DateFormatString在哪个项目就在哪个项目的module中配置。

这个更新是abp 3.8.1之后加的,之前的版本还是得用自定义ContractResolver的丑陋办法

show code

xxWebHostModule.cs

public override void PreInitialize()
{
Configuration.Modules.AbpWebCommon().MultiTenancy.DomainFormat = _appConfiguration["App:ServerRootAddress"] ?? "http://localhost:22742/";
Configuration.Modules.AspNetZero().LicenseCode = _appConfiguration["AbpZeroLicenseCode"];
Configuration.Modules.AbpAspNetCore().UseMvcDateTimeFormatForAppServices = true;//就是这句,使用mvc时间格式
}

需要using Abp.AspNetCore.Configuration;

然后是startup.cs

ConfigureServices()方法里第一句

//MVC
services.AddMvc(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory(DefaultCorsPolicyName));
})
.AddJsonOptions(options => options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss zz")
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

重点是.AddJsonOptions(options => options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss zz")

然后随便找个controller写个获取时间的方法

public class DateLocal
{
public DateTimeOffset DateTimeOffset { get; set; } public DateTime DateTime { get; set; } public DateTimeOffset Local { get; set; }
}
[HttpGet]
public DateLocal GetLocalTime()
{
return new DateLocal
{
DateTimeOffset = DateTimeOffset.Now,
DateTime = DateTime.Now,
Local = DateTimeOffset.Now.ToLocalTime(),
};
}

生效

Abp vNext

版本

abp vnext 1.1.2

.net core 3.1

除非.net 5,否则应该不会再有啥大的改动了(System.Text.Json替换不了NewtonsoftJon的话)

在HostModule的ConfigureServices方法里加上

Configure<MvcNewtonsoftJsonOptions>(options =>
{
options.SerializerSettings.DateFormatString = "r";//对类型为DateTime的生效
});
Configure<AbpJsonOptions>(options => options.DefaultDateTimeFormat = "r");  //对类型为DateTimeOffset生效

需要using Volo.Abp.Json  和 Microsoft.AspNetCore.Mvc

和前端交互建议用"r"作为日期格式,即UTC时间,这样前端可以直接new Date(),也可以自行按需替换为"yyyy-MM-dd"等之类的格式字符串

效果如下

其中CreationTime是Abp内置类型CreateAuditedEntityDto的属性,类型是DateTime

BirthDay是自定义属性,类型是DateTimeOffset,可见两个都成功格式化了

Abp 修改默认的日期时间格式的更多相关文章

  1. Android日期时间格式国际化

    公共类 的DateFormatSymbols 扩展对象 实现 Serializable接口 Cloneable接口 java.lang.Object的    ↳ java.text.DateForma ...

  2. db2 日期时间格式

    db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...

  3. 一起Polyfill系列:让Date识别ISO 8601日期时间格式

    一.什么是ISO 8601日期时间格式 ISO 8601是国际标准化组织制定的日期时间表示规范,全称是<数据存储和交换形式·信息交换·日期和时间的表示方法>. 示例: 1. 2014-12 ...

  4. Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()

    一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...

  5. sql 日期时间格式转换

    Sql日期时间格式转换   sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...

  6. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  7. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  8. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  9. Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式

    本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.html Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来 ...

随机推荐

  1. FPGA, Float 32bit, multiplyier by Verilog

    1, FPGA device, using three 18bit x 18 bit multiplier to implement 32bit float multiplier 2, compari ...

  2. JavaScript编写代码时候没有提示

    如上图所示如果没有提示可能是箭头所指示的类型不正确.

  3. windows7下安装gem包---bcrypt-ruby

    在Gemfile中添加 gem 'bcrypt-ruby', '~> 3.0.0' 然后执行bundle install,rails服务启动没有问题,但是运行程序时页面报错如下: cannot ...

  4. ES6学习之Generator函数

    概念:可以把Generator 函数理解成状态机(封装了多个内部状态)或者是一个遍历器对象生成函数 写法:Generator函数的定义跟普通函数差不多,只是在function关键字后面加了一个星号 f ...

  5. 1.Apache+Tomcat负载均衡+集群配置

    1.本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是 ...

  6. 又来一波!Android精品源码分享

    今天又汇总了几个不错的源码给大家!希望能帮到需要的小伙伴~话不多少,直接上源码! 1.Android精品源码:拖动条控件实现源码 此次分享的源码是一个不错的Android控件,建议大家可以细致的看下. ...

  7. shell入门-sed-1

    sed这个工具比grep复杂一点,功能比grep复杂一点 功能也能指定匹配的行,不能颜色显示 sed 基础功能 [root@wangshaojun ~]# sed -n '10'p 1.txtuucp ...

  8. JQuery鼠标移动上去显示预览图

    body中: <img src="../images/icon_view.gif" bigimg="../img.jpg" title="查看预 ...

  9. 【hibernate-笔记】

    //1 创建,调用空参构造 Configuration conf = new Configuration().configure(); //2 根据配置信息,创建 SessionFactory对象 S ...

  10. php soap连接https的wsdl报错SOAP-ERROR: Parsing WSDL:Couldn't load from

    转发:https://blog.csdn.net/keyunq/article/details/51804728 SOAP-ERROR: Parsing WSDL:Couldn’t load from ...