//C# code
public string GetAtomFromBirthday(DateTime birthday)
{
float birthdayF = 0.00F;
if (birthday.Month == 1 && birthday.Day < 20)
{
birthdayF = float.Parse(string.Format("13.{0}", birthday.Day));
}
else
{
birthdayF = float.Parse(string.Format("{0}.{1}", birthday.Month, birthday.Day));
}
float[] atomBound ={ 1.20F, 2.20F, 3.21F, 4.21F, 5.21F, 6.22F, 7.23F, 8.23F, 9.23F, 10.23F, 11.21F, 12.22F, 13.20F };
string[] atoms = { "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "魔羯座" };
string ret = "外星人啊。";
for (int i = 0; i < atomBound.Length - 1; i++)
{
if (atomBound[i]  birthdayF)
{
ret = atoms[i];
break;
}
}
return ret;
}
//调用
String s = GetAtomFromBirthday(DateTime.Now);

#region <<获取星座>>
        /// <summary>
        /// 获取用户的星座   
        /// 星座是按阳历(公历)日期划分的,
        /// 首先你得知道你的阳历出生日期。 
        /// </summary>
        /// <param name="birthyear">出生年月</param>
        /// <returns></returns>
        public static string GetConstellation(DateTime birthyear)
        {
            //所有数组索引从1开始 到12结束
            string[] Lunar = new string[]{"XO", "水瓶座", "双鱼座", "白羊座", 
                                     "金牛座", "双子座","巨蟹座",
                                     "狮子座","处女座", "天秤座",
                                      "天蝎座","射手座", "魔羯座"};
            int month = birthyear.Month;
            int day = birthyear.Day;
            int[] ArrDate = new int[13] { 0, 21, 21, 21, 21, 22, 23, 24, 24, 24, 24, 23, 22 };

            if (day < ArrDate[month])
            {
                //一月
                if (month == 1)
                {
                    return Lunar[12];
                }
                else
                {
                    return Lunar[month - 1];
                }
            }
            return Lunar[month];
        }
        #endregion