[英]String was not recognized as a valid DateTime " format dd/MM/yyyy"
[英]"String was not recognized as a valid DateTime." format "yyyy-MM-dd" how i can use this format
我的 txtdate 腳本;
<asp:TextBox ID="txtDate1" AutoComplete="off" runat="server" ></asp:TextBox>
<script type="text/javascript">
$(function () {
$('[id*=txtDate]').datepicker({
changeMonth: true,
changeYear: true,
format: "yyyy/MM/dd",
language: "tr"
});
});
</script>
我嘗試在我的日期時間使用格式
DateTime x = DateTime.ParseExact(txtDate1.Text, "yyyy-MM-dd", new CultureInfo("en-US")).AddDays(7);
我收到一個錯誤:
字符串未被識別為有效的日期時間
但這種格式有效:
DateTime x = DateTime.ParseExact(txtDate1.Text, "dd/MM/yyyy", new CultureInfo("en-US")).AddDays(7);
如何使用格式“yyyy-MM-dd”?
在您的 JS 中,您似乎期望包含此格式format: "yyyy/MM/dd
日期的字符串format: "yyyy/MM/dd
所以您的兩個解析都應該是無效的。
那么這個DateTime.ParseExact是如何工作的:
您有可以以不同方式格式化的輸入字符串。
DateTime.ParseExact定義為:
public static DateTime ParseExact (string s, string format, IFormatProvider? provider);
文檔: https : //docs.microsoft.com/en-us/dotnet/api/system.datetime.parseexact? view = net- 5.0
所以例子:
var dateString = "11/04/2021";
如果你這樣做:
var date = DateTime.ParseExact(dateString, "dd/MM/yyyy", new CultureInfo("en-US"));
您的date
將是11th April 2021
但如果你這樣做:
var date = DateTime.ParseExact(dateString, "MM/dd/yyyy", new CultureInfo("en-US"));
您的date
將是4th November 2021
添加:
如果你試試這個:
var date = DateTime.ParseExact(dateString, "MM-dd-yyyy", new CultureInfo("en-US"));
您將被拋出System.FormatException: "String was not recognized as a valid DateTime."
僅僅因為字符串是“11/04/2021” ,你告訴你的解析器期待“MM-dd-yyyy”希望現在更清楚。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.