为什么我的日期在 c# 中只设置为 2 位数字
本文关键字:设置 数字 我的 日期 为什么 | 更新日期: 2023-09-27 18:35:35
在下面的代码片段中,我设置了TDate = new DateTime(2013,12,31),但是当我查看对象数据时,TDate设置为12/31/13(我没有显示时间)而不是12/31/2013。当我把它发送到 SqlServer 时,SqlServer 自然会抱怨 datetime2 的限制。 为什么年份没有设置为2013年?请帮忙 - 我该怎么做才能拥有 12/31/2013?
trxs.Add(new Transaction
{
AccountPK = string.Format("{0}{1}", t.acctno, Prefs.BCode),
Balance = 0.0m,
BCode = Prefs.BCode,
ChqNo = t.chq_no.ToString(),
Details = t.details,
RowID = (int)t.roid,
TDate = new DateTime(2013, 12, 31),
TrxAmount = t.fx_amt,
TrxDate = string.Format("{0:dd/MM/yyyy}", t.tdate),
TrxRef = (int)t.tref,
TrxType = t.trx_type
});
引用的类是:
public class Transaction
{
public string AccountPK { get; set; }
public int RowID { get; set; }
public DateTime TDate { get; set; }
public int TrxRef { get; set; }
public string Details { get; set; }
public decimal TrxAmount { get; set; }
public decimal Balance { get; set; }
public string ChqNo { get; set; }
public string TrxDate { get; set; }
public string BCode { get; set; }
public string TrxType { get; set; }
}
在 web.config 中指定区域性。
例如<system.web>
<globalization uiCulture="en" culture="en-GB"/>
</system.web>
或在代码中
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-GB");
谨慎
SQL Server 必须与 .NET 代码具有相同的区域性。您可以从此 MSDN 链接在 SQL Server 中设置区域性:https://msdn.microsoft.com/en-GB/library/ms190682.aspx
如果这两种文化匹配,您将不再有这个问题。