对于我正在进行的项目,我必须在一个单独的Person类中包含一个人的所有详细信息,其中包括DOB的DateTime。 Person类的代码是:
<outbound-socket-binding name="jms-http">
<remote-destination host="220.110.33.69" port="8080"/>
</outbound-socket-binding>
程序类中的输入将是
<http-connector name="http-connector" endpoint="http-acceptor" socket-binding="jms-http"/>
这就是我尝试将字符串转换为DateTime的原因。但是,在Person类中,它出现了
的错误CS1061public Customer(string firstName, string lastName, string address, string
dateOfBirth, string contactNumber, string email)
{
_FirstName = firstName;
_LastName = lastName;
_Address = address;
_DateOfBirth = dateOfBirth;
_ContactNumber = contactNumber;
_Email = email;
}
private string _DateOfBirth;
public string DateOfBirth
{
get { return _DateOfBirth; }
set { _DateOfBirth = value.ToDateTime(); }
}
public override string ToString()
{
return string.Format("Name: {0} {1}, Address: {2}, DOB: {3}, Contact: {3}, Email: {4}, Total Balance: 6", _LastName, _FirstName, _Address, _DateOfBirth, _ContactNumber, _Email /*Add total balance*/);
}
我尝试修复它并查看具有类似问题的其他线程,但我无法想出任何东西。如果有更好的方法,或者只是修复错误,任何帮助都会很棒!
答案 0 :(得分:0)
没有方法名称&#34; ToDateTime&#34;在字符串上。所以你需要代码来实现你的问题。
首先,您需要从检索到的字符串中解析string
,以便可以提取实际的日期字符串。之后,提取的string
需要转换为DateTime
。以下代码可满足您的需求:
var str = "Date of birth (DD / MM / YYYY): 02 / 10 / 1990, ";
var regex = new Regex(@"\d\d \/ \d\d \/ \d\d\d\d");
var match = regex.Match(str);
var date = DateTime.ParseExact(match.ToString().Replace(" ", ""), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
date
变量是DateTime
对象。所以在这里你可以在字符串类型上编写Extension来将指定的字符串转换为DateTime。
public static DateTime ToDateTime(this string myString)
{
var regex = new Regex(@"\d\d \/ \d\d \/ \d\d\d\d");
var match = regex.Match(myString);
var date = DateTime.ParseExact(match.ToString().Replace(" ", ""), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
return date;
}
答案 1 :(得分:0)
这是另一种方法。
performAndWait