C#去除时间格式化之后中间的T字母
需求是这样的, 前后端传参,然后后端序列化把字符串存在数据库. 然后发现时间类型的字段,序列化之后 ,有个字母T,
DateTime dt = DateTime.Parse("2024-05-28 23:49:43");
string st = JsonConvert.SerializeObject(dt);
输出 2024-05-28T23:49:43
如果是一个实体类对象,有多个时间类型的字段, 序列化出来就有多段.
考虑用正则表达式处理
1.先找出来 满足条件的日期时间格式
string regex1 = @"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}";
2.正则表达式匹配多段
public List<string> GetMatchList(string input, string pattern)
{
List<string> list = new List<string>();
Regex regex = new Regex(pattern);
var mc = regex.Matches(input);
if (mc.Count>0)
{
for (int i = 0; i < mc.Count; i++)
{
var match = mc[i].Value;
if (!list.Contains(match))
{
list.Add(match);
}
}
}
return list;
}
下面是测试用例:
public void test2()
{
DateTime dt = DateTime.Parse("2024-05-28 23:49:43");
DateTime dt2 = DateTime.Parse("2024-05-27 23:49:43");
string st = JsonConvert.SerializeObject(dt);
string st2 = JsonConvert.SerializeObject(dt2);
string st3 = st + "Testhi,AsTesT" + st2;
string regex1 = @"\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}";
Console.WriteLine("原始字符串");
Console.WriteLine(st3);
List<string>list = GetMatchList(st3, regex1);
for (int i = 0; i < list.Count; i++)
{
st3 = st3.Replace(list[i], list[i].Replace("T", " "));
}
Console.WriteLine("处理后的字符串");
Console.WriteLine(st3);
}
输出结果:
原始字符串
"2024-05-28T23:49:43"Testhi,AsTesT"2024-05-27T23:49:43"
处理后的字符串
"2024-05-28 23:49:43"Testhi,AsTesT"2024-05-27 23:49:43"
C#去除时间格式化之后中间的T字母的更多相关文章
- strftime 日期时间格式化
strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串. size_t strftime(char *strDest,size_t maxsiz ...
- javascript 时间格式化
添加扩展 //时间格式化扩展Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1 ...
- js时间格式化
const formatDate = timestamp => { const date = new Date(timestamp); const m = date.getMonth() + 1 ...
- js对特殊字符转义、时间格式化、获取URL参数
/*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...
- 特殊字符转义&时间格式化&获取URL参数
/*特殊字符转义*/ function htmlspecialchars (str) { var str = str.toString().replace(/&/g, "&& ...
- 【AspNetCore】【WebApi】扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat)
扩展Webapi中的RouteConstraint中,让DateTime类型,支持时间格式化(DateTimeFormat) 一.背景 大家在使用WebApi时,会用到DateTime为参数,类似于这 ...
- EasyUI Datagrid Datetime(EasyUI DataGrid 时间格式化)
EasyUI DataGrid 时间格式化 方法一: var Common = { //EasyUI用DataGrid用日期格式化 TimeFormatter: function (value, re ...
- js Date 时间格式化的扩展
js Date 时间格式化的扩展: Date.prototype.format = function (fmt) { var o = { , //月 "d+": this.getD ...
- SqlServer时间格式化
最近用的SqlServer比较多,时间格式化老是忘记,现整理如下:(来源于网上,具体来源地址忘记了,归根到底MSDN吧) SELECT CONVERT(varchar(50), GETDATE(), ...
- js时间格式化(yy年MM月dd日 hh:mm)
//时间格式化 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, / ...
随机推荐
- js原型,原型链(不断补充中)
1.如何使用构造器? function Person(name, age) { this.name = name; this.age = age; } var man = new Person(&qu ...
- vue首次缓存判断
在向本地缓存存值前,判断localstory是否已经存在某个属性,没有就正常存,有就替换掉 created(){ if(localStorage.getItem("属性名") != ...
- uniapp+vue3聊天室|uni-app+vite4+uv-ui跨端仿微信app聊天语音/朋友圈
原创研发uniapp+vue3+pinia2跨三端仿微信app聊天模板Uniapp-Wechat. uni-vue3-wchat基于uni-app+vue3+pinia2+uni-ui+uv-ui等技 ...
- 【HarmonyOS】安装DevEco Studio后检查环境出现ohpm not set up
按照官网的操作方式,下载完ohpm总是检测不到 打开cmd,发现我之前因为其他项目改过编码 输入 regedit 打开注册表编辑页 按路径[计算机\HKEY_LOCAL_MACHINE\SOFTWAR ...
- linux终端显示git分支的配置
1.查看现有配置 $ echo $PS1 2.显示git分支 打开./.bashrc文件 添加以下几行命令: git_branch() { git branch 2> /dev/null | s ...
- 在IDEA中配置GitHub
目录 在IDEA中配置GitHub 安装GitHub插件 账号授权 方法一:点击Add Account... 添加账号 方法二:使用token登录 共享到GitHub 查看文件变更列表 add文件 移 ...
- GDB 中内存打印命令
GDB 中使用 "x" 命令来打印内存的值,格式为 "x/nfu addr".含义为以 f 格式打印从 addr 开始的 n 个长度单元为 u 的内存值.参数具 ...
- mac升级node
sudo npm cache clean -f //清除nodejs的cache sudo npm install -g n //使用npm安装n模块 npm view node versions / ...
- 4G EPS 中建立 UE 和 MME 之间的 NAS(非接入服务)信令连接
目录 文章目录 目录 前文列表 建立 NAS(非接入服务)信令连接 前文列表 <4G EPS 中的小区搜索> <4G EPS 中的 PLMN 选择> <4G EPS 中的 ...
- Hugging Face ZeroGPU 计划正式发布—提供价值一千万美元的免费共享 GPU
在人工智能技术领域,GPU 资源一直是推动研究和应用的关键因素.然而,GPU 的成本和可用性对于许多研究人员和开发者来说却是一个显著的障碍. 在 Hugging Face,我们希望人工智能技术可以更加 ...