网上看了看,没有对日历转换的特别算法,有个老外建议看看emacs里的实现,
算了,先用这种普通实现得了,除了mapping month name 没发现其他可以优化的。
/**
* element 20090324
*/
public class CalendarConversion {
public static final String[] haabMonthsName = { "pop", "no", "zip", "zotz",
"tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac",
"kankin", "muan", "pax", "koyab", "cumhu" };
public static final String[] TzolkinDaysName = { "imix", "ik", "akbal",
"kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok",
"chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab",
"canac", "ahau" };
public int getMonth(String month) {
for (int i = 0; i < haabMonthsName.length; i++) {
if (haabMonthsName[i].equals(month)) {
if (i == haabMonthsName.length - 1)
return i * 20 - 15;
else
return i * 20;
}
}
return 0;
}
public int getdays(String[] dayMonthYear) {
int year = Integer.parseInt(dayMonthYear[2]);
int month = this.getMonth(dayMonthYear[1]);
int day = Integer.parseInt(dayMonthYear[0].substring(0, dayMonthYear[0]
.length() - 1)) + 1;
return year * 365 + month + day;
}
public String Conversion(String haab) {
int conuntDay = this.getdays(haab.split(" "));
String Tzolkin = String.valueOf((conuntDay % 260) % 13) + " "
+ TzolkinDaysName[(conuntDay % 260) % 20 - 1] + " " + conuntDay / 260;
return Tzolkin;
}
public static void main(String[] args) {
String haab = "10. zac 1995";
System.out.println(new CalendarConversion().Conversion(haab));
//9 cimi 2801
}
}
分享到:
相关推荐
就是一道深搜题,没分了,发一份上来好了。
pku 1008 解题代码,希望大家多多探讨
【标题】"pku.zip_PKU" 指的是一份与北京大学(Peking University, PKU)相关的压缩文件。从描述来看,这份压缩包包含了部分编程题目的代码,可能是学生或者爱好者在解决北京大学编程竞赛或课程作业时编写的。"pku"这...
"pku经典题目解题报告"这一标题揭示了文件内容的核心,它表明这是一份关于北京大学(PKU)编程竞赛或算法竞赛中的经典问题的解答集。通常,这样的报告会涵盖一系列在PKU历年比赛中出现的难题,包含了解题思路、算法...
pku1000 pku1000程序 解题报告
在编程竞赛的世界里,北京大学(PKU)的ACM团队以其高质量的题目和独特的解题思路闻名。"PKU-ACM.rar"这个压缩包包含了北大ACM题目的一些核心知识点,旨在帮助参赛者理解和掌握算法竞赛中的生命周期题目解法。本文将...
benchmark (PKU-MMD) for continuous multi-modality 3D human action understanding and cover a wide range of complex human activities with well annotated information. PKU-MMD contains 1076 long video ...
【标题】"PKU 课件 ppt 等 灰常强大" 指的是北京大学(PKU)的课程资料,其中包括了PPT演示文稿和其他相关文档资源,这些资料质量高、内容丰富,对学习者来说具有极高的价值。"灰常强大"这一网络用语表明这些课件...
【标题】"ACM代码 之pku代码" 涉及的是在计算机科学领域中的算法竞赛编程,尤其是北京大学(Peking University, PKU)的ACM/ICPC(国际大学生程序设计竞赛)训练代码。这些代码是参赛者或教练为了准备这类竞赛而编写的,...
标题 "pku acm 一些代码" 暗示了这是一个与北京大学(Peking University, 简称PKU)的ACM(国际大学生程序设计竞赛)相关的代码集合。在这个领域,参赛者通常需要解决算法问题,编写高效且优化的代码来求解数学、逻辑...
标题"Pku1664"很可能是指北京大学(Peking University)在某个编程竞赛或课程中的一道题目或项目,编号为1664。这道题目可能涉及到计算机科学的基础概念,尤其是算法和数据结构。描述中提到的是"Pku1664源代码",暗示...
8数码代码pku1077,300ms(哈希+广度搜索)
PKU 2339 Rock, Scissors, Paper 源代码
标题中的“pku1742.rar_pku 17_pku 1742 _报告及程序”表明这是一个与北京大学(Peking University, 简称PKU)相关的项目,项目编号可能是1742,内容包括了结题报告和程序代码。这个压缩包很可能是学生或研究人员提交...
pku acm 1469 COURSES 代码 二分图的最大匹配的匈牙利算法 解题报告请访问:http://blog.csdn.net/china8848
标签部分进一步细化了内容:"pku acm_pku"再次强调这是北京大学ACM竞赛的资料,"pku__1709__crossword"可能是特定的题目标签,而"pku_acm"可能是北京大学ACM团队的标识。"visual_c"可能表示这些代码是使用C++语言,...
北京大学pku2317 Questions and answers c++标程 文件名为2371.cpp
"p_acm"、"pku_acm"以及"pu_acm.pku_pku"等标签可能是用于分类或标识这些代码属于北京大学(Peking University, PKU)的ACM训练题目。"acm"一词重复出现,进一步强调了这是关于ACM编程竞赛的内容。 描述中提到"acmer...
标题中的“pku1088.rar_pku 10_pku 1088_poj 1088”指的是北京大学(Peking University, PKU)编程竞赛中的第1088题,也称为POJ(Peking University Online Judge)的1088题。这个题目在编程竞赛社区中通常有一个特定的...