[英]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.