我的 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”?
uj5u.com熱心網友回復:
在您的 JS 中,您似乎期望包含這種格式的日期的字串,
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
- 所以這意味著s是您要決議的輸入日期字串。
- 字串格式告訴方法你的輸入字串的格式是什么。
- 而供應商是一個物件,關于文化特有的耗材格式的資訊。
所以例子:
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”
希望現在更清楚。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/349156.html
