¿Cómo puedo encontrar la fecha de inicio y el nombre (1, 2, 3, etc.) de un trimestre a partir de una fecha determinada?Calcular la fecha de inicio y el nombre de un trimestre a partir de una fecha determinada
32
A
Respuesta
95
Algo así (no probado):
DateTime date;
int quarterNumber = (date.Month-1)/3+1;
DateTime firstDayOfQuarter = new DateTime(date.Year, (quarterNumber-1)*3+1,1);
DateTime lastDayOfQuarter = firstDayOfQuarter.AddMonths(3).AddDays(-1);
5
int GetQuarterName(DateTime myDate)
{
return (int)Math.Ceiling(myDate.Month/3.0);
}
DateTime GetQuarterStartingDate(DateTime myDate)
{
return new DateTime(myDate.Year,(3*GetQuarterName(myDate))-2,1);
}
GetQuarterName
obtiene el "siguiente" valor entero del mes actual/número 3.
GetQuarterStartingDate
utiliza la salida de GetQuarterName
de resolver el valor del mes, la parte del año de la fecha original, y 1 para representar el primer día del mes para regresar.
(Disculpas por hacer que no tiene sentido, que tienen gripe. :()
2
https://msdn.microsoft.com/ru-ru/library/ms127415(v=vs.110).aspx
using Microsoft.VisualBasic;
var quarter = DateAndTime.DatePart(DateInterval.Quarter, (DateTime)dateTimePickerDateTime.Value);
2
var date = new DateTime(2015, 3, 15);
var quarter = (date.Month + 2)/3;
var quarterStartMonth = 3 * quarter - 2;
var quarterStartDate = new DateTime(date.Year, quarterStartMonth, 1);
0
Un sencillo de dos revestimiento con demostración en vivo here + presione F8 para funcionar
var date = DateTime.Now; //Give you own DateTime
int offset = 2, monthsInQtr = 3;
var quarter = (date.Month + offset)/monthsInQtr; //To find which quarter
var totalMonths = quarter * monthsInQtr;
var startDateInQtr = new DateTime(date.Year, totalMonths - offset, 1); //start date in quarter
Si usted está buscando en último día del trimestre uso DateTime.DaysInMonth
var endDateInQtr = new DateTime(date.Year, totalMonths, DateTime.DaysInMonth(date.Year, totalMonths));
Cuestiones relacionadas
- 1. Calcular años a partir de la fecha
- 2. MySQL: ¿Cómo calcular semanas a partir de una fecha específica?
- 3. Obtener el número de la semana a partir de una fecha determinada
- 4. ¿Cómo obtengo la primera fecha de un trimestre en MySQL?
- 5. C# consiguen fecha de inicio y la última fecha de base a la fecha actual
- 6. Cómo buscar la cuarta parte de una fecha determinada
- 7. Obtener el nombre del mes a partir de la fecha en Oracle
- 8. ¿Cómo obtener el nombre del día de la semana a partir de una fecha?
- 9. Get mes de una determinada fecha
- 10. SQLite: Cómo calcular la edad a partir de la fecha de nacimiento
- 11. Calcular número de semana a partir de un valor de fecha
- 12. ¿Cómo puedo calcular/encontrar el número de semana de una fecha determinada?
- 13. Calcula una edad a partir de un formato de fecha y hora en años. ¿Qué significa?
- 14. VB.NET Obtener solo el año a partir de la fecha
- 15. Fecha de inicio y finalización de un mes actual
- 16. git: cómo recuperar todos los archivos a partir de una fecha determinada
- 17. ¿Cómo calcular 8 días hábiles a partir de la fecha de hoy?
- 18. Calcular la fecha de inicio y finalización de la semana anterior
- 19. ¿Cómo determinar la fecha un día antes de una fecha determinada en Java?
- 20. ¿Cómo encontrar el primer día de la semana a la que pertenece una fecha determinada?
- 21. ¿Cómo se convierte una fecha de inicio ingenua a la fecha de inicio de sesión con DST en Python?
- 22. Conversión de la cadena de fecha y hora de la fecha a la fecha
- 23. Calcular el último día en el trimestre ACTUAL
- 24. C# 30 días a partir de la fecha de hoy
- 25. obtener una fecha de 6 años a partir de ahora?
- 26. jquery datepicker - calcular la diferencia de fecha
- 27. Creando DATETIME a partir de FECHA y HORA
- 28. Compruebe si una fecha determinada es anterior
- 29. la conversión de una cadena de fecha y hora a partir de "aaaa-MM-dd"
- 30. Consultar documentos CouchDB entre una fecha de inicio y una fecha final
Puede explicar lo que hace el código? – roosteronacid
@roosteronacid: '(quarterNumber-1) * 3 + 1' indicará el número de mes del primer mes del trimestre dado. El código crea un 'DateTime' para el primer día de ese mes del año. Ese es el primer día del trimestre. Luego agrega tres meses. Ese será el primer día del * próximo * trimestre, por lo que el último día del trimestre deseado será el día anterior ('.AddDays (-1)' hace ese truco). –
Ver @il_guru respuesta aquí => http://stackoverflow.com/questions/11154673/get-the-correct-week-number-of-a-given-date – mynkow