【问题标题】:string to DateTime(date)字符串到日期时间(日期)
【发布时间】:2017-03-10 16:51:47
【问题描述】:

我正在尝试将从我的网络服务收到的字符串解析为 DateTime,以便我可以查看该日期时间的日期是否是今天。

我看了一点,在 msdn 和 stackoverflow 上发现这些可能性应该有效,但由于某种原因它们对我不起作用。

string starttime = obj.TIME; //time i get from webservice = "02/14/2017 00:00:00"
DateTime startTimeCon = DateTime.Parse(starttime);
DateTime startTimeCon2 = Convert.ToDateTime(starttime);

错误:

字符串未被识别为有效的日期时间

有什么想法吗?

【问题讨论】:

    标签: c# datetime


    【解决方案1】:

    您的系统中似乎有不同的文化。

    使用ParseExact() 代替Parse():

    DateTime startTimeCon = DateTime.ParseExact(starttime, 
                                                "MM/dd/yyyy HH:mm:ss",
                                                CultureInfo.InvariantCulture);
    

    HH使用24小时,hh可以使用12小时

    另外,您可以在Parse() 中设置适当的文化:

    DateTime startTimeCon = DateTime.Parse(starttime, neededCulture);
    

    【讨论】:

    • 或有关小时格式的更多信息,请参阅我的回答 here。答案还链接到所有的 MSDN 页面。
    • 这确实有效,thnx,我使用了这个 "DateTime endTimeCon = DateTime.ParseExact(starttime, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);"有关“CultureInfo.InvariantCulture”的任何快速信息?
    猜你喜欢
    • 2016-04-02
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多