c# - DateTimeOffset 格式并获得与 moment.js 相同的输出
问题描述
我可以使用以下模式在 moment.js 中格式化日期:
MMMM Do YYYY, h:mm:ss a
它会返回:
January 1st 0001, 12:00:24 am
但是,对 C# DateTimeOffset 执行相同操作将返回:
date.ToString("MMMM Do YYYY, h:mm:ss a")
> January Do YYYY, 12:00:00 a
我想知道如何实现相同的输出?
解决方案
这是没有 Humanizer 的,您可以创建相同的功能DateTimeOffset
,它的工作原理相同
public static string ToDisplayDate(DateTime date)
{
int day = date.Day;
string dayStringOrdinal = day +
((day % 10 == 1 && day != 11) ? "st"
: (day % 10 == 2 && day != 12) ? "nd"
: (day % 10 == 3 && day != 13) ? "rd" : "th");
return date.ToString("MMMM DAY, h:mm:ss tt").Replace("DAY", dayStringOrdinal);
}
输出 :
August 13th, 08:35:58 AM
推荐阅读
- opengl - GLUT/OpenGl 未定义的引用
- html - Elementor:如何在最后停止 wordpress 画廊,没有循环?
- java - 你如何引用以前用另一种方法创建的列表并搜索它?
- c# - 在 .NET 中调用 GCP 的 API
- firebase - 如何将数据从后端节点 js 返回到前端 html?
- java - NodePacker - 不明白这个问题
- javascript - 为什么 JavaScript 需要不同的时间来运行相同的函数?
- python - 如何在 Python 中的 SQL 连接中替换字符串
- chart.js - 是否可以对齐垂直堆积图
- java - 带有@Secured(SecurityRule.IS_ANONYMOUS) 注释的 API URL 上带有声明性 Http 客户端的 401