Abp 修改默认的日期时间格式
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 修改默认的日期时间格式的更多相关文章
- Android日期时间格式国际化
公共类 的DateFormatSymbols 扩展对象 实现 Serializable接口 Cloneable接口 java.lang.Object的 ↳ java.text.DateForma ...
- db2 日期时间格式
db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...
- 一起Polyfill系列:让Date识别ISO 8601日期时间格式
一.什么是ISO 8601日期时间格式 ISO 8601是国际标准化组织制定的日期时间表示规范,全称是<数据存储和交换形式·信息交换·日期和时间的表示方法>. 示例: 1. 2014-12 ...
- Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...
- sql 日期时间格式转换
Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...
- [php基础]Mysql日期函数:日期时间格式转换函数详解
在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...
- SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- Linux环境变量的修改(永久,暂时)以及修改ls显示的时间格式
本文转自:http://blog.sina.com.cn/s/blog_8e21864f01014u9h.html Linux修改环境变量,很简单但很重要 一.Linux的变量种类 按变量的生存周期来 ...
随机推荐
- docker数据卷(volume)
1.什么是数据卷volume https://blog.csdn.net/dream_broken/article/details/52314993 为了了解什么是Docker Volume,首先我们 ...
- altium designer 中的top/bottom solder和top/bottom paste mask
转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51751936 1.top solder为助焊层,说白一点就是说,有这个层的地方就没 ...
- Python-Redis的Set操作
集合为不重复的列表 无序集合 sadd(name,values):在name对应的集合中添加元素 smembers(name):获取name对应的集合的所有成员 127.0.0.1:6379> ...
- man syslog | col -b > syslog.txt
linux man手册导出,解决man乱码 man syslog | col -b > syslog.txt
- linux命令-tar打包和压缩并用
tar在打包的时候进行压缩 支持 gzip bzip2 xz 格式 -z gzip格式 -j bzip2格式 -J xz格式 压缩打包 [root@wangshaojun ~]# tar -zc ...
- js 取get过来的数据
function getQuery(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&am ...
- mongodb 分页(limit)
db.COLLECTION_NAME.find().limit(NUMBER) db.mycol.find().limit() db.mycol.find({},{,_id:}).limit().sk ...
- 转:JMeter整合InfluxDB,Grafana让测试结果实时显示
软件版本: apache-jmeter-2.13.tgz grafana-2.1.1-1.x86_64.rpm influxdb-0.8.8-1.x86_64.rpm 虽然官方不在支持influxdb ...
- p4171&bzoj1823 满汉全席
传送门(洛谷) 传送门(bzoj) 题目 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能 ...
- PAM认证
PAM认证 摘自: http://www.cnblogs.com/shenxm/p/8451889.html PAM(Pluggable Authentication Modules) Sun公司于1 ...