You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当前区域非英文时,如何在Blazor中显示公历英文日期?

在Blazor中同时显示本地语言日期与英文公历日期

方法一:直接指定文化格式化日期

不用修改全局区域设置,直接在格式化日期时分别指定本地文化和英文文化即可。

首先在组件顶部导入必要的命名空间:

@using System.Globalization

然后在组件代码里生成两种日期字符串:

@{
    var targetDate = DateTime.Now;
    // 本地语言日期:使用应用当前的区域设置
    var localFormattedDate = targetDate.ToString("D", CultureInfo.CurrentCulture);
    // 英文公历日期:强制使用en-US文化(英式英文可换成en-GB)
    var englishFormattedDate = targetDate.ToString("D", new CultureInfo("en-US"));
}

<p>本地日期:@localFormattedDate</p>
<p>英文日期:@englishFormattedDate</p>

这里的"D"是长日期格式,你可以换成其他格式符,比如短日期"d"、带时间的完整格式"F",按需调整即可。

方法二:封装复用组件

如果多个页面都需要展示双语言日期,建议封装成独立组件,方便统一维护:

创建DualDate.razor组件:

@using System.Globalization
@param DateTime Date
@param string DateFormat = "D"
@param string EnglishCultureCode = "en-US"

<div class="dual-date">
    <span class="local">@Date.ToString(DateFormat, CultureInfo.CurrentCulture)</span>
    <span class="english">(@Date.ToString(DateFormat, new CultureInfo(EnglishCultureCode)))</span>
</div>

在其他组件里直接调用:

<!-- 默认长日期格式 -->
<DualDate Date="DateTime.Now" />

<!-- 自定义格式,比如带时间的短格式 -->
<DualDate Date="DateTime.Now" DateFormat="f" />

还可以给组件加CSS样式,让两种日期的显示更协调。

注意点

  • 英文文化代码可以根据需求调整,比如en-GB对应英式日/月/年的格式,en-US是月/日/年格式。
  • 确保项目已引用System.Globalization,一般默认包含,若缺失可手动添加引用。

内容的提问来源于stack exchange,提问作者mz1378

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:32:15