[英]Watin : Get Datetime and perform calculation
我有一个文本字段,其日期格式为“ 12/23/2010”。我是否可以使用watin来获取数字23,即从文本字段中获取数字;我将像这样使用它。
1.Get datetime 12/23/2010 and get number '23'
2.substract 2 from 23 and store it somewhere[ie: 23 - 2 = 21]
3.Insert the new datetime number [ie:12/21/2010 ]
string myDate = browser.TextField(Find.ByName("myTextField")).Value;
DateTime time = = new DateTime();
time2 = time - 2;
browser.TextField(Find.ByName("myTextField")).TypeText(time2);
这可能吗?还是我应该寻找另一种方式。请用户插入数据。
您应该使用DateTime.Parse
, DateTime.TryParse
, DateTime.ParseExact
或DateTime.TryParseExact
将文本解析为DateTime
。
如果解析失败表明某处代码失败(鉴于这是测试,则可能是这种情况),我怀疑DateTime.ParseExact
是最合适的方法,提供了预期的格式,区域性等。
如果您想要从日期中减去2天,我会这样做:
DateTime dt = DateTime.Parse(myDate)-TimeSpan.FromDays(2);
//its steps 1,2 & 3 in one easy to read line :)
如果您确定所拥有的字符串是有效日期,那么当然可以。 如果可能不是,那么您应该执行Skeet建议的操作,即先使用try解析,检查返回值是否为true,如果返回,则执行其余操作,否则返回其余错误,否则发送错误信息。
考虑写作
DateTime dt = Convert.ToDateTime(myDate);
DateTime dtNew = new DateTime(dt.Year, dt.Month, dt.Day - 2);
browser.TextField(Find.ByName("myTextField")).TypeText(dtNew.ToShortDateString());
尝试以字符串形式获取日期值将其转换为datetime并使用AddDays,我们可以使用负值或正值并将其插入文本框
string myDate = this.Elements.textfield.Value;
DateTime dt = Convert.ToDateTime(myDate);
DateTime dtNew = dt.AddDays(-3);
this.Elements.ChangeDateActive.TypeText(dtNew.ToShortDateString());
就是这样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.