将字符串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
。
有可能吗?感谢的任何帮助
一旦有了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();
}
}
}