實際上我正在使用 .CSV 文件。我已將 .CSV 文件的所有數據放入 DataTable 中。代碼如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Globalization;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Revision1{ public partial class Form1 : Form { DataTable datable = new DataTable(); public Form1() { InitializeComponent(); } private void browsebtn_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Select .CSV ffile"; ofd.ShowDialog(); txtboxpath.Text = ofd.FileName; } private void operatebtn_Click(object sender, EventArgs e) { string filePath = txtboxpath.Text; StreamReader sr = new StreamReader(filePath); string line = sr.ReadLine(); string[] value = line.Split(','); DataRow row; foreach (string dc in value) { datable.Columns.Add(new DataColumn(dc)); } while (!sr.EndOfStream) { value = sr.ReadLine().Split(','); if (value.Length == datable.Columns.Count) { row = datable.NewRow(); row.ItemArray = value; datable.Rows.Add(row); } } } private void generatecsvbtn_Click(object sender, EventArgs e) { } }}到現在一切都很好。.CSV 文件的 google drive 鏈接點擊 for.csv 文件現在我正在檢查以下條件,該條件也在最后一次 while 循環后的操作中:DateTime dt = DateTime.ParseExact(datable.Rows[0][1].ToString(),"dd-MM-yy HH:ss", CultureInfo.InvariantCulture);string s = dt.ToString();string s1 = datable.Rows[0][1].ToString();if(s==s1){ //code here}但是條件給出了錯誤的值。我如何修改我的代碼以便條件為真?當我通過斷點調試時,我得到以下值:dt = 11/30/2017 10:00:00 AMs = 30-NOV-2017 10:00:00 AMs1 = 30-11-2017 10:00
2 回答

qq_遁去的一_1
TA貢獻1725條經驗 獲得超8個贊
您應該轉換所有要比較的字符串DateTimes
并進行比較。畢竟你想比較日期,而不是文本。該DateTime
結構本身并不存儲日期為格式,因此在這方面中性。根據原始文檔
此屬性的值表示自 0001 年 1 月 1 日午夜 12:00:00(公歷中 0001 年 1 月 1 日 UTC 時間 0:00:00)以來經過的 100 納秒間隔數 [... ]
- 2 回答
- 0 關注
- 261 瀏覽
添加回答
舉報
0/150
提交
取消