c# - 在 EST 中将字符串转换为字符串(日期时间)
问题描述
我在“2021 年 3 月 20 日星期一 14:04:48 +0000”中有字符串, 我想将其转换为“2021 年 3 月 20 日 | 14:04 PM”
我想按原样转换字符串,但它在我的本地和服务器中显示不同。
解决方案
如果您真的想操纵时区信息,请使用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"
或者,如果您喜欢冒险,请使用正则表达式。
推荐阅读
- json - 无法在 Windows 终端中更改 fontFace
- c++ - 未解析的外部符号“class std::basic_string” - 使用 Visual Studio 2019 调试时获取未解析的外部符号
- angular - 为什么我在刷新它注入的组件时丢失了我的 Angular 6 服务对象变量?
- javascript - 为什么请求正文未定义?
- amazon-web-services - 无法在 ubuntu AWS EC2 服务器上访问 nginx
- java - 使用 S3 和 java 如何为下面的 fileUpload 方法编写 junit 测试
- powershell - Powershell - 保存加密用户并传入脚本?
- python - 从 python 模块返回变量
- javascript - React axios response.json 不是函数
- python - 使用带有默认值的 SQL-ALCHEMY 插入行 Postgresql