我正在使用日期选择器并在文本框中显示所选日期。格式显示为14-05-2015 10:42
我正在尝试将此值传递给下面的方法。
public String GetTimestamp(DateTime value)
{
return value.ToString("yyyy-MM-dd HH:mm:ss");
//return value.ToString("yyyyMMddHHmmss");
}
我声明值字符串taskDate = txtDate.Text 如何将其转换为DATETIME格式并传递给此方法?
我尝试了几种方法,比如parseexact或者转换它不起作用..它会给我一个字符串错误。
日期选择器的脚本
<script type="text/javascript">
$(document).ready(function () {
$("#<%=txtDate.ClientID %>").dynDateTime({
showsTime: true,
ifFormat: "%Y-%m-%d %H:%M:%S",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
});
</script>
答案 0 :(得分:0)
将DateTime.TryParse与日期选择器字符串格式的适当文化结合使用。
类似的东西:
String timeStamp = null;
DateTime dateValue;
if (DateTime.TryParse(taskDate, CultureInfo.CreateSpecificCulture("fr-FR"), DateTimeStyles.None, out dateValue))
{
timeStamp = GetTimestamp(dateValue);
}
...
示例:https://dotnetfiddle.net/C44uNo
或确保为您的应用程序在全球范围内正确设置文化。
答案 1 :(得分:0)
您可以使用TryParseExact
var dt = DateTime.Now;
var enUS = new CultureInfo("en-US");
if(DateTime.TryParseExact(taskDate, "yyyy-MM-dd HH:mm:ss", enUS, DateTimeStyles.None, out dt))
{
}
或者
if(DateTime.TryParseExact(taskDate, "yyyy-MM-dd HH:mm:ss", null, DateTimeStyles.None, out dt))
{
}
<强>更新强>
答案 2 :(得分:0)
您应该在控制台检查日期时间格式 - &gt;区域环境。