快速问题,将缩写语言缩写为全名的最佳方法是什么?例如英语?注意,它不是en-US,它只是en,fr,de
C#请.
ToString的默认格式是否依赖于与服务器相关的任何内容?这是问题:我正在测试并在我的本地机器上测试了一个应用程序,默认情况下,ToString()以"MM/dd/yyyy hh:mm:ss tt"的格式返回,但是在我们的服务器上它似乎是以"dd/MM/yyyy hh:mm:ss tt"返回,这是消费应用程序不期望并导致错误的.
Dim uvExpireDate = DateTime.Now.AddMinutes(1)
Dim token = String.Format(fmtString, uvExpireDate.ToUniversalTime().ToString(), [various other params])
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
string day = dt.DayOfWeek.ToString();
day = day.Substring(0, 1).ToUpper();
MessageBox.Show(day); // result is "F"
Run Code Online (Sandbox Code Playgroud)
我怎样才能以当地语言(CultureInfo)获得结果,例如 - 法国,在哪里可以找到用于此目的的语言列表?
我在mvc3应用程序中使用以下方法:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
if (HttpContext.Current.Session != null)
{
CultureInfo ci = (CultureInfo)this.Session["Culture"];
if (ci == null)
{
string langName = "az";
ci = new CultureInfo(langName);
this.Session["Culture"] = ci;
}
Thread.CurrentThread.CurrentUICulture = ci;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这种方法被多次调用?
当站点在其他PC的新浏览器中打开时,找不到站点资源.
我有一个完整的应用程序,它使用Web应用程序,数据库和一些业务逻辑层.问题是它们中的每一个都配置为使用系统文化.我需要将文化固定为所有文化中的不变量或标准文化.我已经尝试在web.config中添加全球化标签,但我仍然遇到问题,它似乎无法正常工作.
我还在我的布局页面中添加了"globalize.js"脚本,因此脚本可以像系统的其余部分一样工作,但它也不起作用.
我有一些测试代码执行文化感知转换的规范.我想为我的测试设置一个定义的文化,这样我就可以对预期的值进行硬编码,而不必担心运行测试的系统的配置文化.
有没有一种简单的方法可以使用Machine.Specifications来执行此操作,还是必须设置Thread.CurrentThread.CurrentCulture
(也可能CurrentUICulture
)?
我是C#的新手,我对如何使用System.Globalization.CultureInfo类有以下疑问.
我有以下情况.
在类中,我读取了一些值(来自使用XPath的XML),其中包含一些信息作为某些数据字段.
所以我有类似的东西:
System.Globalization.CultureInfo cultureEN = new System.Globalization.CultureInfo("en-GB");
currentDeepSightVuln.LastUpdated = DateTime.Parse(n_alertdocument.SelectSingleNode("./x:LastUpdated", nsmgr).InnerText, cultureEN);
Run Code Online (Sandbox Code Playgroud)
在我的XML文件中,此字段为:
<x:LastUpdated>2014-05-21T17:00:38</x:LastUpdated>
Run Code Online (Sandbox Code Playgroud)
所以它的价值是2014-05-21T17:00:38
在执行上一个操作(初始化LastUpdate对象属性)时运行我的程序我有**LastUpdate属性值是:{21/05/2014 17:00:38}.
如您所见,它有另一种格式而不是XML字段值.我认为这很正常,因为它是基于en-GB设置进行转换的.
我的疑问是:如果那时我将我的对象保存在数据库表(Microsoft SQL Server)上,我可以遇到一些问题,还是从SQL Server中以纠正的形式重新转换?
编辑1: 要将我的对象插入db,我使用类似的东西:
public long insert(DataModel.Vulnerability.Vuln v){
_strSQL = "";
string strSQLParametri = "";
string query = "";
long newId;
long VulnerabilityAlertDocumentPkValue;
System.Data.Common.DbCommand command;
command = _connection.CreateCommand();
try
{
_transactionBegin();
// [VulnerabilityAlertId] insertion on the DB:
if (v.VulnerabilityAlertId != null)
{
_strSQL = "INSERT INTO VulnerabilityAlertDocument …
Run Code Online (Sandbox Code Playgroud) 我想要一个小数的价格和小数字符号本地化.根据文化,小数可能使用,
或.
.
现在我这样做:
subItem.price.ToString("#.#", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
但如果价格是0
(没有小数点),结果就是结果""
,这会让我的系统崩溃.
是否有比更好的方式"#.#"
处理更好的模式0
?
目标:
想要将任何格式的日期时间转换为de-DE文化
日期时间示例:
2016年3月30日下午2:38:20
2016年4月4日上午11:08:10
我尝试了什么
protected void Page_Load(object sender, EventArgs e)
{
string dt1Valid = CheckDateFormat("3/30/2016 2:38:20 PM");
}
public string CheckDateFormat(string checkDate)
{
string formats1 = getFormat(checkDate);
DateTime parsedDateTime;
DateTimeFormatInfo ukDtfi = new CultureInfo("de-DE", false).DateTimeFormat;
if (!DateTime.TryParseExact(checkDate, formats1, new CultureInfo("de-DE"),
DateTimeStyles.None, out parsedDateTime))
{
return Convert.ToDateTime(parsedDateTime.ToString()).ToString(ukDtfi.ShortDatePattern + " " + ukDtfi.LongTimePattern);
}
else
return "";
}
public string getFormat(string checkDate)
{
string[] formats = {"M/d/yyyy", "MM/dd/yyyy",
"d/M/yyyy", "dd/MM/yyyy",
"yyyy/M/d", "yyyy/MM/dd",
"M-d-yyyy", "MM-dd-yyyy",
"d-M-yyyy", "dd-MM-yyyy",
"yyyy-M-d", "yyyy-MM-dd", …
Run Code Online (Sandbox Code Playgroud) 我想创建一个包装类来替换CultureInfo基类.例如; 在我的代码中我有
var cultureInfo = new CultureInfo (stringVariableForCultureName);
Run Code Online (Sandbox Code Playgroud)
我想替换另一行:
var cultureInfo = new CultureInfoWrapper (stringVariableForCultureName);
Run Code Online (Sandbox Code Playgroud)
原因是我没有控制传递给初始化CultureInfo的值,我想避免错误异常默认CultureInfo
所以我的CultureInfoWrapper构造函数应该是这样的:
public CultureInfoWrapper(string cultureName)
{
try
{
return new CultureInfo(cultureName);
}
catch (Exception exception)
{
return new CultureInfo(DefaultCultureName);
}
}
Run Code Online (Sandbox Code Playgroud)
你能帮我定一下包装类吗?
cultureinfo ×10
c# ×6
datetime ×3
.net ×1
asp.net-mvc ×1
httpcontext ×1
mspec ×1
session ×1
sql ×1
sql-server ×1
vb.net ×1
winforms ×1