Добавление ведущих нулей к дате времени C # - PullRequest
5 голосов
/ 20 мая 2011

Каков наилучший способ добавить нули к дате в C #

Пример строки "10.10.2011 9:20:45 AM" преобразовать в строку "10.09.2011 09:20:45 утра "

Ответы [ 7 ]

14 голосов
/ 20 мая 2011
DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") // 12hour set
DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") // 24hour set

Более подробную информацию / методы о форматировании даты можно найти Здесь

Из вашего комментария

Лучше использовать следующеедля синтаксического анализа DateTime

DateTime date = DateTime.MinValue;
DateTime.TryParse("9/10/2011 9:20:45 AM", out date);
return date.ToString("MM/dd/yyyy hh:mm:ss tt")

Затем можно проверить, если он не работает, сравнив его с DateTime.MinValue, а затем завершить работу приложения в случае сбоя Convert.ToDatetime

13 голосов
/ 20 мая 2011

Если вы говорите, что это обе строки, вам следует использовать метод DateTime.TryParse:

DateTime dt;
if (DateTime.TryParse("9/10/2011 9:20:45 AM", out dt))
{
    Console.WriteLine(dt.ToString("dd/MM/yyyy hh:mm:ss tt"));
}
else
{
    Console.WriteLine("Error while parsing the date");
}
5 голосов
/ 20 мая 2011
myDate.ToString("dd/MM/yyyy hh:mm:ss tt")
2 голосов
/ 20 мая 2011
DateTime dt = ...
dt.ToString("dd/MM/yyyy hh:mm:ss tt");
1 голос
/ 20 мая 2011

Использование string stringVariable = string.Format("{0:dd/MM/yyyy hh:mm:ss tt}", dateTimeVariable);

1 голос
/ 20 мая 2011

Вы можете использовать string.Format("{0:dd/MM/yyyy hh:mm:ss}", dateTime);

0 голосов
/ 05 ноября 2012

просто используйте этот код, это поможет вам ..

using System;using System.Collections.Generic;using System.ComponentModel;используя System.Data;использование System.Drawing;используя System.Text;using System.Windows.Forms;

пространство имен DateTimeConvert {открытый частичный класс Form1: Form {public Form1 () {InitializeComponent ();}

    private void button1_Click(object sender, EventArgs e)
    {
      label1.Text= ConvDate_as_str(textBox1.Text);
    }

    public string ConvDate_as_str(string dateFormat)
    {
        try
        {
            char[] ch = dateFormat.ToCharArray();
            string[] sps = dateFormat.Split(' ');
            string[] spd = sps[0].Split('.');
            dateFormat = spd[0] + ":" + spd[1]+" "+sps[1];
            DateTime dt = new DateTime();
            dt = Convert.ToDateTime(dateFormat);
            return dt.Hour.ToString("00") + dt.Minute.ToString("00");
        }
        catch (Exception ex)
        {
            return "Enter Correct Format like <5.12 pm>";
        }

    }


    private void button2_Click(object sender, EventArgs e)
    {
       label2.Text = ConvDate_as_date(textBox2.Text);
    }

    public string ConvDate_as_date(string stringFormat)
    {
        try
        {
            string hour = stringFormat.Substring(0, 2);
            string min = stringFormat.Substring(2, 2);
            DateTime dt = new DateTime();
            dt = Convert.ToDateTime(hour+":"+min);
            return String.Format("{0:t}", dt); ;
        }
        catch (Exception ex)
        {
            return "Please Enter Correct format like <0559>";
        }
    }
} }
...