导航:首页 > 源码编译 > 万年历安卓源码

万年历安卓源码

发布时间:2022-09-15 00:26:28

⑴ 求一个含农历的万年历系统的c++的源代码

我直接以附件形式放上来了,带农历,带节气,效果蛮好,一个例子是C的,还有个例子是C++的MFC的,这两个例子都在“Code4+提取器”目录下,如果需要控制台程序,直接把C的改一下就可以了,封装成一个农历类。这个类也可以从MFC例子中直接提取。因为有好多个例子源码,就不贴代码,直接上图,工程在附件中(用电脑登录可见),若VS版本低于2008 SP1,请自建工程,然后再添加头文件和源文件。 超全资料,一定要采纳哦。 很抱歉,回答者上传的附件已失效

⑵ 求“日梭万年历”网络版源码,或计算24节气方法

struct ConvDate
{
int Source;
int SolarYear;
int SolarMonth;
int SolarDate;
int LunarYear;
int LunarMonth;
int LunarDate;
int Weekday;
int Kan;
int Chih;
};

unsigned __int64 m_ui64SolarTerms[24];
unsigned __int64 m_ui64MonthDays[13];

m_ui64MonthDays[0] = 0ui64;
m_ui64MonthDays[1] = 31ui64;
m_ui64MonthDays[2] = 28ui64;
m_ui64MonthDays[3] = 31ui64;
m_ui64MonthDays[4] = 30ui64;
m_ui64MonthDays[5] = 31ui64;
m_ui64MonthDays[6] = 30ui64;
m_ui64MonthDays[7] = 31ui64;
m_ui64MonthDays[8] = 31ui64;
m_ui64MonthDays[9] = 30ui64;
m_ui64MonthDays[10] = 31ui64;
m_ui64MonthDays[11] = 30ui64;
m_ui64MonthDays[12] = 31ui64;

m_ui64SolarTerms[0] = 0ui64;
m_ui64SolarTerms[1] = 21208ui64;
m_ui64SolarTerms[2] = 42467ui64;
m_ui64SolarTerms[3] = 63836ui64;
m_ui64SolarTerms[4] = 85337ui64;
m_ui64SolarTerms[5] = 107014ui64;
m_ui64SolarTerms[6] = 128867ui64;
m_ui64SolarTerms[7] = 150921ui64;
m_ui64SolarTerms[8] = 173149ui64;
m_ui64SolarTerms[9] = 195551ui64;
m_ui64SolarTerms[10] = 218072ui64;
m_ui64SolarTerms[11] = 240693ui64;
m_ui64SolarTerms[12] = 263343ui64;
m_ui64SolarTerms[13] = 285989ui64;
m_ui64SolarTerms[14] = 308563ui64;
m_ui64SolarTerms[15] = 331033ui64;
m_ui64SolarTerms[16] = 353350ui64;
m_ui64SolarTerms[17] = 375494ui64;
m_ui64SolarTerms[18] = 397447ui64;
m_ui64SolarTerms[19] = 419210ui64;
m_ui64SolarTerms[20] = 440795ui64;
m_ui64SolarTerms[21] = 462224ui64;
m_ui64SolarTerms[22] = 483532ui64;
m_ui64SolarTerms[23] = 504758ui64;

/* 24节气计算 */

int __fastcall IsLeapYear(int iYear)
{
if ((iYear & 3) != 0)
{
return 0;
}
else if (iYear % 100 != 0)
{
return 1;
}
else if (iYear % 400 == 0)
{
return 1;
}
else
{
return 0;
}
}

int __fastcall TheSolarTerm(int iYear, int n)
{
unsigned __int64 k;
unsigned __int64 ddate_utc = 22085493000000ui64;
unsigned __int64 doffdate, dadddate;

doffdate = m_ui64SolarTerms[n] * 600000ui64;
doffdate += static_cast<unsigned __int64>(iYear - 1900) * 315569259747ui64;
doffdate -= ddate_utc;

doffdate /= 864000000ui64; //86400: 60 * 60 * 24 * 1000

int i = 1969;
dadddate = 0ui64;
while (dadddate < doffdate)
{
i++;
k = dadddate;
dadddate += 365ui64 + static_cast<unsigned __int64>(IsLeapYear(i));
};

if (dadddate > doffdate)
{
int j = 0;
dadddate = k;
while (dadddate < doffdate && j < 12)
{
j++;
k = dadddate;
dadddate += m_ui64MonthDays[j];
if (j == 2 && (IsLeapYear(i) != 0))
{
dadddate++;
}
};
return static_cast<int>(doffdate - k + 1ui64);
}
else // j = doffdate
{
return 1;
}
}

int CalConv(struct ConvDate &cd)
{
int leap, d, sm, y, im, l1, l2, acc, i, lm, kc;
if (cd.Source == 0) /* Solar */
{
if (cd.SolarYear <= FIRSTYEAR || cd.SolarYear > LASTYEAR)
{
return 1;
}
sm = cd.SolarMonth - 1;
if (sm < 0 || sm > 11)
{
return 2;
}
leap = GetLeap(cd.SolarYear);
d = (sm == 1) ? (leap + 28) : SolarCal[sm];
if (cd.SolarDate < 1 || cd.SolarDate > d)
{
return 3;
}
y = cd.SolarYear - FIRSTYEAR;
acc = SolarDays[leap][sm] + cd.SolarDate;
cd.Weekday = (acc + LunarCal[y].BaseWeekday) % 7;
kc = acc + LunarCal[y].BaseKanChih;
cd.Kan = kc % 10;
cd.Chih = kc % 12;
if (acc <= LunarCal[y].BaseDays)
{
y--;
cd.LunarYear = cd.SolarYear - 1;
leap = GetLeap(cd.LunarYear);
sm += 12;
acc = SolarDays[leap][sm] + cd.SolarDate;
}
else
{
cd.LunarYear = cd.SolarYear;
}
l1 = LunarCal[y].BaseDays;
for (i = 0; i < 13; i++)
{
l2 = l1 + LunarCal[y].MonthDays[i] + 29;
if (acc <= l2)
{
break;
}
l1 = l2;
}
cd.LunarMonth = i + 1;
cd.LunarDate = acc - l1;
im = LunarCal[y].Intercalation;
if (im != 0 && cd.LunarMonth > im)
{
cd.LunarMonth--;
if (cd.LunarMonth == im)
{
cd.LunarMonth = -im;
}
}
if (cd.LunarMonth > 12)
{
cd.LunarMonth -= 12;
}
}
else /* Lunar */
{
if (cd.LunarYear < FIRSTYEAR || cd.LunarYear >= LASTYEAR)
{
return 1;
}
y = cd.LunarYear - FIRSTYEAR;
im = LunarCal[y].Intercalation;
lm = cd.LunarMonth;
if (lm < 0)
{
if (lm != -im)
{
return 2;
}
}
else if (lm < 1 || lm > 12)
{
return 2;
}
if (im != 0)
{
if (lm > im)
{
lm++;
}
else if (lm == -im)
{
lm = im + 1;
}
}
lm--;
if (cd.LunarDate > LunarCal[y].MonthDays[lm] + 29)
{
return 3;
}
acc = LunarCal[y].BaseDays;
for (i = 0; i < lm; i++)
{
acc += LunarCal[y].MonthDays[i] + 29;
}
acc += cd.LunarDate;
leap = GetLeap(cd.LunarYear);
for (i = 13; i >= 0; i--)
{
if (acc > SolarDays[leap][i])
{
break;
}
}
cd.SolarDate = acc - SolarDays[leap][i];
if (i <= 11)
{
cd.SolarYear = cd.LunarYear;
cd.SolarMonth = i + 1;
}
else
{
cd.SolarYear = cd.LunarYear + 1;
cd.SolarMonth = i - 11;
}
leap = GetLeap(cd.SolarYear);
y = cd.SolarYear - FIRSTYEAR;
acc = SolarDays[leap][cd.SolarMonth - 1] + cd.SolarDate;
cd.Weekday = (acc + LunarCal[y].BaseWeekday) % 7;
kc = acc + LunarCal[y].BaseKanChih;
cd.Kan = kc % 10;
cd.Chih = kc % 12;
}

return 0;
}

⑶ 万年历的源代码

万年历的数学模型,在很多书上都可以得到,
下一步,就是用你的“C51的C语言”去实现了。
现成的代码,很多网站都可以找到,下载。

⑷ 求一个flash mx做的万年历的源码,谢谢!!!

Flash漂亮的万年历源码
下载地址:http://www.21tx.com/src/2005/11/15/12755.html

易游贝贝祝你好运

⑸ 求万年历VC6.0 源代码.高手请指教

参考http://blog.163.com/paradise300@126/blog/static/69940666201322622926503/

工程是用VS2008编写的,可以在VC6.0下新建个工程,然后复制进去,编译一下就可以了。

⑹ 求:java Application 万年历源代码

以下是两个类,请楼主分别存成两个java文件:
其中
MainFrame.java是显示日历程序,Clock.java是日历计算程序。编译后运行MainFrame这个类即可。

1.MainFrame.java
---
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.util.Calendar;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class MainFrame extends JFrame {
/** *//**
*
*/
private static final long serialVersionUID = 1L;
JPanel panel = new JPanel(new BorderLayout());
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel(new GridLayout(7, 7));
JPanel panel3 = new JPanel();
JLabel[] label = new JLabel[49];
JLabel y_label = new JLabel("年份");
JLabel m_label = new JLabel("月份");
JComboBox com1 = new JComboBox();
JComboBox com2 = new JComboBox();
int re_year, re_month;
int x_size, y_size;
String year_num;
Calendar now = Calendar.getInstance(); // 实例化Calendar

MainFrame() {
super("万年历");
setSize(300, 350);
x_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth());
y_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getHeight());
setLocation((x_size - 300) / 2, (y_size - 350) / 2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel1.add(y_label);
panel1.add(com1);
panel1.add(m_label);
panel1.add(com2);
for (int i = 0; i < 49; i++) {
label[i] = new JLabel("", JLabel.CENTER);// 将显示的字符设置为居中
panel2.add(label[i]);
}
panel3.add(new Clock(this));
panel.add(panel1, BorderLayout.NORTH);
panel.add(panel2, BorderLayout.CENTER);
panel.add(panel3, BorderLayout.SOUTH);
panel.setBackground(Color.white);
panel1.setBackground(Color.white);
panel2.setBackground(Color.white);
panel3.setBackground(Color.white);
Init();
com1.addActionListener(new ClockAction());
com2.addActionListener(new ClockAction());

setContentPane(panel);
setVisible(true);
setResizable(false);
}

class ClockAction implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
int c_year, c_month, c_week;
c_year = Integer.parseInt(com1.getSelectedItem().toString()); // 得到当前所选年份
c_month = Integer.parseInt(com2.getSelectedItem().toString()) - 1; // 得到当前月份,并减1,计算机中的月为0-11
c_week = use(c_year, c_month); // 调用函数use,得到星期几
Resetday(c_week, c_year, c_month); // 调用函数Resetday
}
}

public void Init() {
int year, month_num, first_day_num;
String log[] = { "日", "一", "二", "三", "四", "五", "六" };
for (int i = 0; i < 7; i++) {
label[i].setText(log[i]);
}
for (int i = 0; i < 49; i = i + 7) {
label[i].setForeground(Color.red); // 将星期日的日期设置为红色
}
for (int i = 6; i < 49; i = i + 7) {
label[i].setForeground(Color.green);// 将星期六的日期设置为绿色
}
for (int i = 1; i < 10000; i++) {
com1.addItem("" + i);
}
for (int i = 1; i < 13; i++) {
com2.addItem("" + i);
}
month_num = (int) (now.get(Calendar.MONTH)); // 得到当前时间的月份
year = (int) (now.get(Calendar.YEAR)); // 得到当前时间的年份
com1.setSelectedIndex(year - 1); // 设置下拉列表显示为当前年
com2.setSelectedIndex(month_num); // 设置下拉列表显示为当前月
first_day_num = use(year, month_num);
Resetday(first_day_num, year, month_num);
}

public int use(int reyear, int remonth) {
int week_num;
now.set(reyear, remonth, 1); // 设置时间为所要查询的年月的第一天
week_num = (int) (now.get(Calendar.DAY_OF_WEEK));// 得到第一天的星期
return week_num;
}

@SuppressWarnings("deprecation")
public void Resetday(int week_log, int year_log, int month_log) {
int month_day_score; // 存储月份的天数
int count;
month_day_score = 0;
count = 1;

Date date = new Date(year_log, month_log + 1, 1); // now
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, -1); // 前个月
month_day_score = cal.getActualMaximum(Calendar.DAY_OF_MONTH);// 最后一天

for (int i = 7; i < 49; i++) { // 初始化标签
label[i].setText("");
}
week_log = week_log + 6; // 将星期数加6,使显示正确
month_day_score = month_day_score + week_log;
for (int i = week_log; i < month_day_score; i++, count++) {
label[i].setText(count + "");
}
}

public static void main(String[] args) {
JFrame.(true);
new MainFrame();
}
}
2.Clock.java
-----
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.util.Calendar;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

//显示时间的类:Clock

/** *//**
* Clock.java
* Summary 数字时间显示
* Created on
* @author
* remark
*/

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util.Calendar;
class Clock extends Canvas implements Runnable{
/** *//**
*
*/
private static final long serialVersionUID = 3660124045489727166L;
MainFrame mf;
Thread t;
String time;
public Clock(MainFrame mf){
this.mf=mf;
setSize(280,40);
setBackground(Color.white);
t=new Thread(this); //实例化线程
t.start(); //调用线程
}
public void run(){
while(true){
try{
Thread.sleep(1000); //休眠1秒钟
}catch(InterruptedException e){
System.out.println("异常");
}
this.repaint(100);
}
}
public void paint(Graphics g){
Font f=new Font("宋体",Font.BOLD,16);
SimpleDateFormat SDF=new SimpleDateFormat("yyyy'年'MM'月'dd'日'HH:mm:ss");//格式化时间显示类型
Calendar now=Calendar.getInstance();
time=SDF.format(now.getTime()); //得到当前日期和时间
g.setFont(f);
g.setColor(Color.orange);
g.drawString(time,45,25);
}
}

⑺ c语言万年历源代码

太高难度了,基本找不到答案,希望你把分给我,这样你会得到10分返还。

⑻ 谁有APP中华万年历的android源码急求

进入中华万年历,【更多】里面有一个【提醒设置】 其中有三项【系统节日提醒】【自定义节日提醒】【活动提醒】。 将【系统节日提醒】勾选项取消即可。

⑼ 日历安卓源代码导入android studio

Eclipse迁移到Android studio步骤如下:
一、从Eclipse中导出:
1、将ADT插件版本升级到22.0以上。
2、在Eclipse中,选择File-->Export。
3、在弹出的导出窗口中,打开Android的文件夹,选择“Generate Gradle Build Files”。
4、选中想要导入到Android Studio中的项目,Finish。

注意:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件。

二、导入到Android Studio:
1、在Android Studio 中,首先关掉当前的打开的项目。
2、在欢迎界面,点击Import Project(注:也是可以直接在菜单选择Import project的)。
3、选中Eclipse中导出的项目,展开目录,点击build.gradle文件,然后OK。
4、在之后的弹出对话框中,会要求选择Gradle的配置,选中Use gradle wrapper.(注:也可以自定义本机装的Gradle)。

注意:如果没有Grade build文件,也是可以将普通的安卓项目导入到Android Studio中,它会用现有的Ant build.但为了更好地使用之后的功能和充分使用构建变量,还是强烈地建议先从ADT插件中生成Gradle文件再导入Android Studio。

⑽ 万年历 源码编辑,修改

1.
var adds
if (perscal[2]>7)
adds = 1230
else
adds = 1130

var timeData = {
"China 中国": {
"BeiJing 北京":["+"+adds,"","北京、重庆、乌鲁木齐"],//伊朗春节过后修改为+1130,6个月后修改为+1230
"Iran 伊朗":["+0800","","德黑兰"]
}
};

2.在HTML里面加一个div,名字随便了 跟着阴历的一起跑,id=随便取一个名字
然后用document.getElementById("id名").innerHTML="内容" 控制

阅读全文

与万年历安卓源码相关的资料

热点内容
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:834
安卓怎么下载60秒生存 浏览:794
外向式文件夹 浏览:226
dospdf 浏览:421
怎么修改腾讯云服务器ip 浏览:378
pdftoeps 浏览:484
为什么鸿蒙那么像安卓 浏览:728
安卓手机怎么拍自媒体视频 浏览:178
单片机各个中断的初始化 浏览:715
python怎么集合元素 浏览:471
python逐条解读 浏览:823
基于单片机的湿度控制 浏览:490
ios如何使用安卓的帐号 浏览:875
程序员公园采访 浏览:803
程序员实战教程要多长时间 浏览:966
企业数据加密技巧 浏览:126
租云服务器开发 浏览:805
程序员告白妈妈不同意 浏览:328
攻城掠地怎么查看服务器 浏览:593
android开机黑屏 浏览:569