首页 > 解决方案 > 在 EST 中将字符串转换为字符串(日期时间)

问题描述

我在“2021 年 3 月 20 日星期一 14:04:48 +0000”中有字符串, 我想将其转换为“2021 年 3 月 20 日 | 14:04 PM”

我想按原样转换字符串,但它在我的本地和服务器中显示不同。

标签: c#.netasp.net-mvcdatetime-format

解决方案


如果您真的想操纵时区信息,请使用Noda Time

如果那是您的确切文本格式,并且日期和时间是您想要的,您可以手动转换它:

var input = "Mon, 20 Mar 2021 14:04:48 +0000";

var dateParts = input.Split(' ');
var timeParts  = dateParts[4].Split(':');
var amPm = int.Parse(timeParts[0]) < 12 ? "AM" : "PM";
var output = $"{dateParts[1]} {dateParts[2]} {dateParts[3]} | {timeParts[0]}:{timeParts[1]} {amPm}";

System.Console.WriteLine(output); // "20 Mar 2021 | 14:04 PM"

或者,如果您喜欢冒险,请使用正则表达式


推荐阅读