- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如标题所说,我遇到的问题是,我需要使用短月份名称格式和年份,以便由 AjaxControlToolkit 中的 MaskedEditExtender 验证日期。 DateTime 的 MMM-yyyy 与 MaskedEditExtender.Mask = "LLL-9999"不同。
如果我使用 en-US 语言环境,事情就像魅力一样,但如果我切换到 fr-FR,那么它将不起作用,因为法语中的短月表示使用 4 到 5 个字母(包括点)。
对此有何想法?
谢谢。
最佳答案
这里需要明确定义掩码和掩码类型,而不是在控件本身中声明。
按照步骤
1.创建获取n set mask的方法
公共(public)字符串掩码
{
得到
{
return GetPropertyValue("Mask", "");
}
放
{
SetPropertyValue("Mask", value);
}
}
2.创建获取n set mask type的方法
public MaskedEditType MaskType
{
得到
{
return GetPropertyValue("MaskType", MaskedEditType.None);
}
放
{
SetPropertyValue("MaskType", value);
接受AMPM =假;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
休息;
}
}
3.创建获取文化和文化日期格式的方法
公共(public)字符串 CultureName
{
得到
{
return GetPropertyValue("文化", "");
}
放
{
尝试
{
if (!String.IsNullOrEmpty(value))
{
System.Globalization.CultureInfo CultControl = System.Globalization.CultureInfo.GetCultureInfo(value);
SetPropertyValue("Culture", CultControl.Name);
CultureDatePlaceholder = CultControl.DateTimeFormat.DateSeparator;
char sep = System.Char.Parse(CultControl.DateTimeFormat.DateSeparator);
string[] arrDate = CultControl.DateTimeFormat.ShortDatePattern.Split(sep);
string ret = arrDate[0].Substring(0, 1).ToUpper(CultControl);
ret += arrDate[1].Substring(0, 1).ToUpper(CultControl);
ret += arrDate[2].Substring(0, 1).ToUpper(CultControl);
CultureDateFormat = ret;
}
别的
{
SetPropertyValue("文化", "");
CultureDatePlaceholder = "";
}
}
捕获
{
throw new ArgumentException("文化无效!");
}
}
}
4.创建获取文化日期格式的方法
公共(public)字符串 CultureDateFormat
{
得到
{
return GetPropertyValue("CultureDateFormat", "");
}
放
{
SetPropertyValue("CultureDateFormat", value);
}
}
5. 现在在预渲染上加载值
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
开关(掩码类型)
{
案例 MaskedEditType.Date:
{
接受AMPM =假;
AcceptNegative = MaskedEditShowSymbol.None;
DisplayMoney = MaskedEditShowSymbol.None;
InputDirection = MaskedEditInputDirection.LeftToRight;
休息;
}
}
System.Globalization.CultureInfo CultControl = System.Globalization.CultureInfo.CurrentCulture;
if (!String.IsNullOrEmpty(CultureName))
{
CultControl = System.Globalization.CultureInfo.GetCultureInfo(CultureName);
}
CultureDatePlaceholder = CultControl.DateTimeFormat.DateSeparator;
char sep = System.Char.Parse(CultControl.DateTimeFormat.DateSeparator);
string[] arrDate = CultControl.DateTimeFormat.ShortDatePattern.Split(sep);
string ret = arrDate[0].Substring(0, 1).ToUpper(CultControl);
ret += arrDate[1].Substring(0, 1).ToUpper(CultControl);
ret += arrDate[2].Substring(0, 1).ToUpper(CultControl);
CultureDateFormat = ret;
}
6. 最后创建一个函数来验证用户输入
private bool validateMaskType()
{
字符串掩码 = 掩码;
MaskedEditType maskType = MaskType;
if (!string.IsNullOrEmpty(mask) && (maskType == MaskedEditType.Date))
{
string validMask = MaskedEditCommon.GetValidMask(mask);
开关(掩码类型)
{
案例 MaskedEditType.Date:
return Array.IndexOf(new string[] { "99/99/9999", "99/9999/99", "9999/99/99", "99/99/99"}, validMask) >= 0;
休息;
}
}
返回真;
}
关于asp.net - 是否可以为适用于任何文化的日期格式 MMM-yyyy 设置 MaskedEditExtender 的掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444592/
我需要使用正则表达式验证格式为 dd/mm/yyyy 的日期字符串。 此正则表达式验证 dd/mm/yyyy,但不验证 31/02/4500 等无效日期: ^(0?[1-9]|[12][0-9]|3[
我需要一个正则表达式来支持日期格式 dd-MMM-yyyy 和 dd-MMM。 例如: 04-Oct-2010 04-Oct 04-OCT-2010 04-OCT 最佳答案 如果您只需要 C# 解决方
我的字段包含字符串值,如 JUL/11/2017、JAN/11/17。虽然它是一个有效字段,但我无法使用 is_date 函数对其进行验证 SET DATEFORMAT MDY; if isdate
这个问题在这里已经有了答案: Why does Date.parse give incorrect results? (11 个答案) 关闭 9 年前。 我正在获取类似 dd-MMM-yyyy 或
我已经搜索了该网站,但没有找到接近我需要的答案。基本上我的日期正确显示为“2013-05-09”,但我想要的是“2013 年 3 月 19 日”或使其更好“3 月 19 日, 2013 年”。 请向我
我是 Java 新手,在使用下面的代码时无法检索月份,而是将月份值设置为 0。请指出我在这里犯的错误。 * for(int i=0;i 关于java.time java.time框架内置于 Java
我在使用 Excel 宏 (VBA) 时遇到问题,该宏旨在从 Excel 电子表格中获取日期,减去一个月并将其重新格式化为 MMM-YY。基本上我想采取 3/31/2013 并将其转换为 2 月 13
我有一个从dd MMM yyyy格式的文件中提取的字符串,我想转换为unixtime进行监视。 举个例子: 19 Jul 2017 我想显示为: 1500422400 根据一些搜索,我正在尝试以下操作
我正在尝试使用 VBA 在 Excel 中格式化日期,当前月份采用 mmm 格式。不知何故,我得到的是上个月,而不是当前月份。我检查过,我的计算机月份是二月,但我得到的是一月。 这是我的代码: Cel
我的日期格式为 dd-MMM-yyyy。现在我想再加30天。如何做到这一点? 最佳答案 JodaTime提供了一个很好的方法 new DateTime().addDays(30); 如果您希望使用日期
我是 Google Apps 脚本的新手,我在日期格式转换方面遇到困难 我的源列的数据格式为“mm/dd/yyyy”。我想将其更改为“MMM-YY”,即我只需要提取月份和年份。 以下是我不成功的尝试
我在 mysql 数据库中有一个日期列,但日期的格式如下: 2016 年 1 月 2 月 - 16 日 2016 年 3 月 是否可以使用此日期格式查询日期范围? 例如: $query = "SELE
我维护了一个 start_date 为“日期”数据类型的表,现在我想以 dd-mmm-yyyy 格式显示日期。 public static BusObjectIterator weeksOfYear(
在 XCode 9 之前,我对 DateFormatter 没有任何问题。 随着更新,我遇到了一个似乎无法绕过的问题。 我正忙于将日期从 NSString 转换为 NSDate,但是我的代码似乎无法初
我正在尝试显示当前日期的周数,以及周数的日期范围。现在日期范围格式是日期时间,我想将其更改为“1 月 13 日”。关于如何解决这个问题的任何建议? override func viewDidLoad(
这个问题在这里已经有了答案: Change date format in a Java string (22 个答案) 关闭 3 年前。 我是 Java 新手。我正在尝试将日期从字符串转换为 MMM
我正在尝试使用 SimpleDateFormat 将我的月份转换为 MMM 格式,但我无法转换它。 tvDisplayDate = (TextView) findViewById(R.id.d
如何将日期从“dd MMM yyyy”转换为“yyyy-MM-dd”? 我知道我必须使用 SimpleDatFormat但它不起作用,类似问题的任何解决方案也不起作用。 我有一个日期“2015 年 1
脚本 $(function () { $(".datepicker").datepicker(); }); 文本框 当我选择日期表单文本框时,格式看起来像 10/11/2017
clickhouse有这样的功能吗?类似于mysql的STR_TO_DATE功能。 我需要将“04-Jun-2021”转换为“2021-06-04” 最佳答案 考虑使用 parseDateTime32
我是一名优秀的程序员,十分优秀!