将字符串dd/mm/yyy转换为yyyy-mm-dd hh:mm:ss

本文关键字:mm yyyy-mm-dd hh ss yyy 字符串 dd 转换 | 更新日期: 2023-09-27 18:24:21

我有一个字符串

string str = "26/01/2015";

我需要将其转换为日期时间2015-01-26 00:00:00.000,以便将其存储在数据库中。

到目前为止,我尝试的是

DateTime.ParseExact(str, "dd/MM/yyyy", CultureInfo.InvariantCulture)`

并且我得到的值为CCD_ 2。

但我需要它作为2015-01-26 00:00:00.000

有可能吗?感谢的任何帮助

将字符串dd/mm/yyy转换为yyyy-mm-dd hh:mm:ss

一旦有了DateTime对象,就可以更新数据库,因为它是最准确的。输出对您来说重要的是,当您从数据库中检索它时,它是datetime对象,然后执行.ToString来格式化它。

您需要将其转换为这样的字符串(如果您想将其格式化为字符串):

var parsed = DateTime.ParseExact(str, "dd/MM/yyyy", CultureInfo.InvariantCulture);
var formatted = parsed.ToString("yyyy-MM-dd HH:mm:ss.fff");

我想您想要格式化日期时间字符串。

你可以试试这个:

string outputFormat = DateTime.ParseExact("26/01/2015", "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd HH:mm:ss.fff");

但我认为最好将其作为DateTime写入数据库,而不是字符串

根据需要将其转换为字符串,并将参数传递给ToString()函数,如标准中所述。

你可以使用

DateTime d = DateTime.Now;
d.ToString("U");

如果使用参数来存储数据,则无需担心转换日期时间,如下面的代码所示。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication58
{
    class Program
    {
        static void Main(string[] args)
        {
            string connStr = "Enter Your Conneciton String Here";
            string SQL = "INSERT INTO Table1 (Time_Col) VALUES ('@MyTime');";
            SqlConnection conn = new SqlConnection(connStr);
            SqlCommand cmd = new SqlCommand(SQL, conn);
            cmd.Parameters.Add("@MyTime", SqlDbType.DateTime);
            DateTime now = DateTime.Now();
            cmd.Parameters["@MyTime"].Value = now;
            cmd.EndExecuteNonQuery();
        }
    }
}