visual val que porque net mas facil entre diferencia con caracteristicas asp aprender c# datetime vb6 dayofweek weekday

que - Equivalente a la función WeekDay de VB6 en C#



visual basic.net caracteristicas (4)

¿Te refieres a la propiedad DateTime.DayOfWeek ?

DayOfWeek dow = DateTime.Now.DayOfWeek;

En el código VB6, tengo lo siguiente:

dim I as Long I = Weekday(Now, vbFriday)

Quiero el equivalente en C #. ¿Alguien puede ayudar?


No creo que haya un equivalente de la forma de dos argumentos de la función Weekday de VB.

Podrías emularlo usando algo como esto;

private static int Weekday(DateTime date, DayOfWeek startDay) { int diff; DayOfWeek dow = date.DayOfWeek; diff = dow - startDay; if (diff < 0) { diff += 7; } return diff; }

Luego llamándolo así:

int i = Weekday(DateTime.Now, DayOfWeek.Friday);

Devuelve 4 hoy, ya que el martes es 4 días después del viernes.


Sí, cada valor de DateTime tiene una propiedad incorporada llamada DayOfWeek que devuelve una enumeración del mismo nombre ...

DayOfWeek dow = DateTime.Now.DayOfWeek;

Si desea el valor integral simplemente transfiera el valor de enumeración a un int.

int dow = (int)(DateTime.Now.DayOfWeek);

Tendrás que agregar una constante de 1 a 6 y hacer Mod 7 para realinearlo a otro día además del domingo, sin embargo ...


public static int Weekday(DateTime dt, DayOfWeek startOfWeek) { return (dt.DayOfWeek - startOfWeek + 7) % 7; }

Esto se puede llamar usando:

DateTime dt = DateTime.Now; Console.WriteLine(Weekday(dt, DayOfWeek.Friday));

Los resultados anteriores:

4

como el martes es 4 días después del viernes.