It must be the vodka!
Saturday, September 15, 2007
Wednesday, September 12, 2007
How to get a random date in C#
I looked everywhere for a sample on generating random dates in C# but could find any so I wrote mine.
This function uses the DateTime utility class below which I found somewhere on the web.
///
private static DateTime getRandomDate(Random rand,
DateTime minDate, DateTime maxDate)
{
int totalDays = (int)DateTimeUtil.DateDiff(
DateInterval.Day , minDate, maxDate);
int randomDays = rand.Next(0,totalDays);
return minDate.AddDays(randomDays);
}
This function uses the DateTime utility class below which I found somewhere on the web.
public enum DateInterval
{
Day,
DayOfYear,
Hour,
Minute,
Month,
Quarter,
Second,
Weekday,
WeekOfYear,
Year
}
///
public sealed class DateTimeUtil
{
#region DateDiff Methods
public static long DateDiff(DateInterval interval,
DateTime dt1, DateTime dt2)
{
return DateDiff(interval, dt1, dt2, System.Globalization
.DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek);
}
private static int GetQuarter(int nMonth)
{
if (nMonth <= 3)
return 1;
if (nMonth <= 6)
return 2;
if (nMonth <= 9)
return 3;
return 4;
}
public static long DateDiff(DateInterval interval,
DateTime dt1, DateTime dt2, DayOfWeek eFirstDayOfWeek)
{
if (interval == DateInterval.Year)
return dt2.Year - dt1.Year;
if (interval == DateInterval.Month)
return (dt2.Month - dt1.Month) +
(12 * (dt2.Year - dt1.Year));
TimeSpan ts = dt2 - dt1;
if (interval == DateInterval.Day ||
interval == DateInterval.DayOfYear)
return Round(ts.TotalDays);
if (interval == DateInterval.Hour)
return Round(ts.TotalHours);
if (interval == DateInterval.Minute)
return Round(ts.TotalMinutes);
if (interval == DateInterval.Second)
return Round(ts.TotalSeconds);
if (interval == DateInterval.Weekday)
{
return Round(ts.TotalDays / 7.0);
}
if (interval == DateInterval.WeekOfYear)
{
while (dt2.DayOfWeek != eFirstDayOfWeek)
dt2 = dt2.AddDays(-1);
while (dt1.DayOfWeek != eFirstDayOfWeek)
dt1 = dt1.AddDays(-1);
ts = dt2 - dt1;
return Round(ts.TotalDays / 7.0);
}
if (interval == DateInterval.Quarter)
{
double d1Quarter = GetQuarter(dt1.Month);
double d2Quarter = GetQuarter(dt2.Month);
double d1 = d2Quarter - d1Quarter;
double d2 = (4 * (dt2.Year - dt1.Year));
return Round(d1 + d2);
}
return 0;
}
private static long Round(double dVal)
{
if (dVal >= 0)
return (long)Math.Floor(dVal);
return (long)Math.Ceiling(dVal);
}
#endregion
}
Thursday, September 06, 2007
Visual Studio is a memory hog - uses 1/2 a gig of memory
Tuesday, July 03, 2007
C# - How to check if a property type is an Enum
class EnumTests
{
public static void Run()
{
// convert a string into a color Enum
Colour c = (Colour)Enum.Parse(typeof(Colour), "Red", true);
Console.WriteLine("Colour Value: {0}", c.ToString());
// Picking an invalid colour throws an ArgumentException. To
// avoid this, call Enum.IsDefined() first, as follows:
string nonColour = "OrangeGreen";
if (Enum.IsDefined(typeof(Colour), nonColour))
c = (Colour)Enum.Parse(typeof(Colour), nonColour, true);
else
Console.WriteLine("'{0}' is an undefined Color", nonColour);
//Check if c is an Enum
Console.WriteLine("c is an Enum = {0} ", c.GetType().IsEnum);
}
}
#region Helper Classes
enum Colour
{
Red,
Green,
Blue
}
#endregion
Wednesday, May 30, 2007
Yande, almost 10 weeks later.
Tuesday, March 20, 2007
Apollo Extensions for Flexbuilder 2.0.1 won't Install/Run
After painstakingly downloading the new Apollo runtime and Apollo extensions for Flex Builder from Adobe Labs, I now have to deal with errors nobody at the Apollo forums seems to have any clue about. (Except another few 10s of developers who have the same problems).
I am running WinXP Pro SP2. During the Flex extensions install, I get to select the location of the Flex Builder folder and then I get an Eclipse Folder Error as shown below:

And I do not have Eclipse installed on this computer. I know Flex is built on Eclipse, but common, Adobe should be able to do better - I've been waiting for Apollo for too long.
The when I start Flex Builder, Apollo is present but still won't run.

I'm still watching the forums hoping somebody will answer this one.
I am running WinXP Pro SP2. During the Flex extensions install, I get to select the location of the Flex Builder folder and then I get an Eclipse Folder Error as shown below:

And I do not have Eclipse installed on this computer. I know Flex is built on Eclipse, but common, Adobe should be able to do better - I've been waiting for Apollo for too long.
The when I start Flex Builder, Apollo is present but still won't run.

I'm still watching the forums hoping somebody will answer this one.
Subscribe to:
Posts (Atom)
