Como pasar de String a Datetime y de Datetime a String en C#

Hoy vamos a explicar cómo se hace para pasar una cadena de caracteres a su versión datetime y viceversa

 // String a DateTime
 String MiString;
 MiString= "1999-09-01 21:34 PM";
 //MiString= "1999-09-01 21:34 p.m.";  //Depende en la configuración regional

 DateTime MiDateTime;
 MiDateTime= new DateTime();
 MiDateTime= DateTime.ParseExact(MiString, "yyyy-MM-dd HH:mm tt",null);

Para pasar de formato DateTime a String tendremos que hacer:

 //DateTime a String
 MiDateTime = new DateTime(1999, 09, 01, 21, 34, 00);
 String MiString;
 MiString = MiDateTime.ToString("yyyy-MM-dd HH:mm tt");

Y aquí tenéis las especificaciones de lo que significan las letras utilizadas dentro del ToString (Sacado de esta web)

——————————————
d – Numeric day of the month without a leading zero.
dd – Numeric day of the month with a leading zero.
ddd – Abbreviated name of the day of the week.
dddd – Full name of the day of the week.

f,ff,fff,ffff,fffff,ffffff,fffffff – Fraction of a second. The more Fs the higher the precision.

h – 12 Hour clock, no leading zero.
hh – 12 Hour clock with leading zero.
H – 24 Hour clock, no leading zero.
HH – 24 Hour clock with leading zero.

m – Minutes with no leading zero.
mm – Minutes with leading zero.

M – Numeric month with no leading zero.
MM – Numeric month with a leading zero.
MMM – Abbreviated name of month.
MMMM – Full month name.

s – Seconds with no leading zero.
ss – Seconds with leading zero.

t – AM/PM but only the first letter.
tt – AM/PM ( a.m. / p.m.)

y – Year with out century and leading zero.
yy – Year with out century, with leading zero.
yyyy – Year with century.

zz – Time zone off set with +/-.
——————————————

Eliminar decimales en c#

Me he encontrado ante el problema de que tenía una variable con un valor 5.0000 (con decimales) y necesitaba que no los tuviera. Para ello he utilizado la siguientes líneas de código

    Decimal variable = Decimal.Parse(string.Format("{0:N0}", variable);

Básicamente lo que hago es utilizar el formateo a string sin decimales “N0”, y volverlo a pasar a decimal.

Ver este link para más información