社区
CGI
帖子详情
求公历和农历的PERL转换程序
AllCHN
2003-08-04 10:57:41
感觉这是个非常困难的问题,要各位大虾费心总觉得有点过分,不过,也许我们可以因此交流一些PERL方面的心得、程序,也算有所收获!
要求:
(1)计算公历某日期的农历日期;
(2)得到农历某年的月份列表(闰月用负数表示, 如-7表示闰七月);
(3)计算农历某年某月的天数。
(4)计算农历某年的干支、属相。
...全文
915
5
打赏
收藏
求公历和农历的PERL转换程序
感觉这是个非常困难的问题,要各位大虾费心总觉得有点过分,不过,也许我们可以因此交流一些PERL方面的心得、程序,也算有所收获! 要求: (1)计算公历某日期的农历日期; (2)得到农历某年的月份列表(闰月用负数表示, 如-7表示闰七月); (3)计算农历某年某月的天数。 (4)计算农历某年的干支、属相。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ykj76
2003-08-29
打赏
举报
回复
其实转换本身不是很难,主要是需要一个很大的数据来对应.也就是dwCalendarData[].
上面的只提供了20年的
leebx
2003-08-29
打赏
举报
回复
给你一段javascript代码参考怎么样,如果要的话留个email
AllCHN
2003-08-26
打赏
举报
回复
up
subscribe
2003-08-08
打赏
举报
回复
up
lvjack
2003-08-05
打赏
举报
回复
给你一段代码参考:
/*************************************************
计算阴历日期
范围从2000/02/05开始的20年
代码实现:耙子 2001/08/17
最后修订: 2001/08/18
**************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
typedef unsigned int DWORD;
/**************************************************
sLunar: 返回阴历日期字符串
dwDays: 所求日期距离 2000/02/05的天数差
**************************************************/
void Lunar2Solar(char *sLunar, const DWORD dwDays)
{
const char sTG[][3]= {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"};
const char sDZ[][3]= {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
const char sSX[][3]= {"鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"};
const char sMon[][3]= {"正","二","三","四","五","六","七","八","九","十","冬","腊"};
const char sDate[][5]= {
"初一","初二","初三","初四","初五","初六","初七","初八","初九","初十",
"十一","十二","十三","十四","十五","十六","十七","十八","十九","二十",
"廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"
};
// Start from 2000/2/5, 20 Lunar years' Data
const DWORD dwLunarYears= 20;
const DWORD dwCalendarData[]=
{
0xc96, // 0000 0000 1100 1001 0110
0x41a95, // 0100 0001 1010 1001 0101
0xd4a, // 0000 0000 0100 1101 1010
0xda5,
0x20b55,
0x56a,
0x7155b,
0x25d,
0x92d,
0x5192b,
0xa95,
0xb4a,
0x416aa,
0xad5,
0x90ab5,
0x4ba,
0xa5b,
0x60a57,
0x52b,
0xa93,
0x40e59
};
DWORD i, j;
DWORD yy=0, mm=0;
DWORD t, r, m, p=0, q;
for (i=0; i< dwLunarYears; i++)
{
t= dwCalendarData[i];
r= (t >> 16) & 0x0f;
m= (r==0)?12:13;
for (j=0; j<m; j++)
{
q= ((t >> (m-j-1)) & 1)==0 ? 29 : 30;
if (p+q > dwDays)
break;
p+= q;
}
if (j < m)
break;
}
// Date Overflow
if (i == dwLunarYears)
{
sprintf(sLunar, "%s", "I don't know so much!");
return;
}
sprintf(
sLunar,
"%s%s年(%s) %s%s月%s",
sTG[(i+6)%10], // Heavenly stemas
sDZ[(i+4)%12], // Earthly Branches
sSX[(i+4)%12], // Shu xing
(((r!=0) && (j == r)) ? "闰" : ""), // Leap month
sMon[((r!=0) && (j > r-1)) ? j-1 : j],
sDate[dwDays-p]
);
return;
}
int main ()
{
time_t t1, t2;
struct tm tt;
DWORD dwDiffTime;
char sLunar[32];
tt.tm_year= 2000-1900;
tt.tm_mon=1;
tt.tm_mday=5;
tt.tm_hour=0;
tt.tm_min=0;
tt.tm_sec=0;
t1= mktime(&tt);
for (int i=0; i< 365; i++ ) {
tt.tm_year= 2030-1900;
tt.tm_mon=0;
tt.tm_mday=i;
tt.tm_hour=0;
tt.tm_min=0;
tt.tm_sec=0;
t2= mktime(&tt);
printf("%s", ctime(&t2));
dwDiffTime= difftime(t2,t1) / (60*60*24);
printf("起第 %d 天 ", dwDiffTime);
Lunar2Solar(sLunar, dwDiffTime);
puts(sLunar);
}
getch();
return 0;
}
树莓派GPIO控制-flask
树莓派提供了GPIO接口可进行控制;Flask是一个轻量级Web框架,通过在raspberry Pi上部署flask框架,能够实现在网络前端对Pi进行GPIO控制 连接关系如之前博文进行设定和连接 利用Xshell工具保持PC和Pi之间的连接关系,便于指令输入和控制 利用FlashFXP工具实现PC和Pi之间进行FTP文件传输服务,便于
程序
等文件的上下传 步骤1:编写Flask
程序
并进行部
树莓派搭建基于flask的web服务器-通过移动端控制LED
1.概述 在局域网内,基于flask搭建web服务,从而可以使用移动客户端访问该web服务。由于是flask新手,所以本次实现的web服务功能较为简单,即控制LED灯的开/关及闪烁。 2.准备工作 2.1安装GPIO(通用输入输出接口) 首先从命令行以root身份启动python的交互式解释器(raspberry-gpio-python需要root权限以操作GPIO,因此...
树莓派4B小车Web远程控制:Flask+L298N电机驱动实战
GPIO(通用输入输出)是嵌入式系统与物理世界交互的核心接口,它允许微控制器通过数字信号控制外部设备。其工作原理是通过设置引脚为高电平或低电平来驱动电路,结合PWM(脉冲宽度调制)技术可实现精准的电机调速。这项技术的价值在于打通了软件与硬件的链路,是实现物联网设备远程控制与自动化的基础。在机器人、智能小车等应用场景中,常通过Web服务器(如Flask)接收网络指令,经由GPIO控制电机驱动模块(如L298N),从而实现对设备的远程操控。本文以树莓派4B为核心,详细解析了如何构建一个基于Flask的Web控制
使用Flask在Raspberry Pi上设置REST Web API
在本文中,我们介绍了如何使用Flask在Pi上设置REST Web API,以及如何从任何远程网络使用REST Web API来控制与Pi上的GPIO相连的两个LED。 这个项目有很大的工作空间。相同的设置将适用于远程控制机器人,传感器和遥测应用。 条件 我们假设您的Pi已通电,已连接到互联网并已安装Dataplicity。 将LED连接到Raspberry Pi GPIO 如下图所示,将LED组装在面包板上: 图略 请注意,在此示例中,我们选择将LED连接到Raspberry Pi的引脚16和18。 安装
树莓派 flask mysql_怎样创建树莓派上的Web应用
程序
并使用Flask Web Framework控制伺服电机...
描述在这篇文章中,您将学习如何创建Raspberry Pi上的Web应用
程序
,使用Flask Web Framework控制伺服电机,以创建Web应用
程序
。我们将在Web应用
程序
上创建两个滑块,它们将发送相应的值,导致伺服电机在按下按钮时移动。Flask是一个用Python编写并由Armin Ronacher开发的Web应用
程序
框架。领导一个名为Pocco的国际Python爱好者群体。 Flask...
CGI
2,203
社区成员
4,518
社区内容
发帖
与我相关
我的任务
CGI
Web 开发 CGI
复制链接
扫一扫
分享
社区描述
Web 开发 CGI
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章