TimeSpan.Parse("23:00:00")返回23小时.
TimeSpan.Parse("24:00:00")返回24天!
我意识到我犯了一个错误,因为允许的小时范围是0-23.但是如果你试图解析一个超出范围的值,你会得到一个例外.在超出范围值的小时数的情况下,解析器错误地假设您指的是几天而不是几小时.
有人可以解释一下吗?
这个例子在这里涵盖了这个主题,并指出 http://msdn.microsoft.com/en-us/magazine/ee309881.aspx
TryParse似乎也是如此.尽管文档声明解析失败,但我得到了24天.
http://msdn.microsoft.com/en-us/library/3z48198e
// String to Parse TimeSpan
// --------------- ---------------------
// 0 00:00:00
// 14 14.00:00:00
// 1:2:3 01:02:03
// 0:0:0.250 00:00:00.2500000
// 10.20:30:40.50 10.20:30:40.5000000
// 99.23:59:59.9999999 99.23:59:59.9999999
// 0023:0059:0059.0099 23:59:59.0099000
// 23:0:0 23:00:00
// 24:0:0 Parse operation failed.
// 0:59:0 00:59:00
// 0:60:0 Parse operation failed.
// 0:0:59 00:00:59
// 0:0:60 Parse operation failed.
// 10: Parse operation failed.
// 10:0 10:00:00
// :10 Parse operation failed.
// 0:10 00:10:00
// 10:20: Parse …Run Code Online (Sandbox Code Playgroud) 好吧,我有点奇怪的东西.我意识到我没有正确格式化路径名是错误的,但我希望以下测试返回false,特别是因为该文件夹不存在.
DirectoryExists("C:temp\\foo")
Run Code Online (Sandbox Code Playgroud)
但事实上,即使目录不存在,它也会返回true!
代码应该是
DirectoryExists("C:\\temp\\foo")
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释为什么我从第一个版本中得到误报吗?我希望它返回false或者抛出异常,但不能返回true.
我遇到了几个很棒的代码库,用于将波斯语(Jalali日历)日期转换为格里高利日期.但是,我的原始源是一个字符串,而不是DateTime对象.在.NET框架中似乎没有官方支持使用波斯语日历解析日期(如果我错了,请告诉我!).
我的目标:
string persianDateString="1390/02/07";
DateTime persianDateTime = MyPersianParser.Parse(persianDateString, "yyyy/mm/dd");
Run Code Online (Sandbox Code Playgroud)
当然,有些日期可能会在一周中的几个月和几天使用单词名称,因此我希望能够支持标准格式字符串协议.
编辑:我知道典型的DateTime.Parse功能.无法使用波斯日历,因为Microsoft将其保留为不完整和/或无法修复它.如果有人能指出一些波斯语日期解析代码,我将不胜感激.如果没有,我会请求有人删除问题,然后自己写.
我需要做这样的事情:
<asp:RadioButton ID="rbDate" runat="server" Text="Date" GroupName="grpPrimary" />
Run Code Online (Sandbox Code Playgroud)
并且能够在jQuery中检查单选按钮的检查值的值,但我这样的尝试不会返回true/false.
if ($('[name=rbDate]').attr("Checked"))
if ($('[name=rbDate]').attr("Checked").val())
if ($('[name=rbDate]:checked').val())
Run Code Online (Sandbox Code Playgroud)
一点帮助?
我需要计算DOM对象的offsetRight。我已经有一些相当简单的代码来获取offsetLeft,但是没有javascript offsetRight属性。如果我添加offsetLeft和offsetWidth,那行得通吗?或者,还有更好的方法?
function getOffsetLeft(obj)
{
if(obj == null)
return 0;
var offsetLeft = 0;
var tmp = obj;
while(tmp != null)
{
offsetLeft += tmp.offsetLeft;
tmp = tmp.offsetParent;
}
return offsetLeft;
}
function getOffsetRight(obj)
{
if (obj == null)
return 0;
var offsetRight = 0;
var tmp = obj;
while (tmp != null)
{
offsetRight += tmp.offsetLeft + tmp.offsetWidth;
tmp = tmp.offsetParent;
}
return offsetRight;
}
Run Code Online (Sandbox Code Playgroud) 我需要将字符串转换为非英语语言的DateTime对象.我已经看过许多将DateTime转换为其他语言的字符串的例子,但不是相反.
这似乎不起作用:
CultureInfo provider = new CultureInfo("ar-AE"); // Arabic - United Arab Emirates
string sample = "???????? 16 ???? 2011"; // Arabic date in Gregorian calendar
DateTime result;
DateTime expected = new DateTime(2011, 3, 16); // the expected date
bool b;
b = DateTime.TryParse(sample, provider, DateTimeStyles.None, out result);
Assert.IsTrue(b);
Assert.AreEqual(expected, result);
Run Code Online (Sandbox Code Playgroud)
另外,我需要处理其他日历中的字符串.这是我尝试过的,它似乎也没有用.
CultureInfo provider = new CultureInfo("ar-AE"); // Arabic - United Arab Emirates
provider.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar();
// Wednesday, March 16, 2011, 11 Rabi second in 1432
string sample = …Run Code Online (Sandbox Code Playgroud) 我经常使用也是必填字段的正则表达式验证器.这导致页面上看起来像冗余控件.正则表达式验证器没有"必需"属性,这意味着我需要另一个控件.像这样:
<asp:TextBox ID="tbCreditCardNumber" runat="server" Width="200"></asp:TextBox>
<asp:RegularExpressionValidator ID="revCreditCardNumber" runat="server"
ControlToValidate="tbCreditCardNumber" ValidationGroup="CheckoutGroup" ErrorMessage="Invalid Credit Card Number!"
ValidationExpression="^(3[47][0-9]{13}|5[1-5][0-9]{14}|4[0-9]{12}(?:[0-9]{3})?)$">*</asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="rfvCreditCardNumber" runat='server' ControlToValidate="tbCreditCardNumber" ValidationGroup="CheckoutGroup"
ErrorMessage="Credit Card Number Required">*</asp:RequiredFieldValidator>
Run Code Online (Sandbox Code Playgroud)
有没有办法组合这两个控件,所以我不必键入这么多代码?
所以我希望有一个属性getter,它根据不同类型的枚举值返回枚举值,而不必求助于long switch语句.有没有办法使用一个或多个索引来匹配两个枚举列表?
public enum LanguageName
{
Arabic,
Chinese,
Dutch,
English,
Farsi,
French,
Hindi,
Indonesian,
Portuguese,
Spanish,
Urdu
}
public enum LanguageISOCode
{
ara,
zho,
dut,
eng,
fas,
fre,
hin,
ind,
por,
spa,
urd
}
public class language
{
public language()
{
}
public LanguageName Name
{
get
{
// get the Name enum based on the Code enum
}
set;
}
public LanguageISOCode Code
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)