[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
この機能を使うにはJavaScriptを有効にしてください
|
プログラムスレッド
1
:
女傑
◆nDpXSJz8i.
:2012/03/04(日) 04:40:34
システム再起動用のプログラムを書いてみた。コンパイル&リン
クテストしてないので、ちゃんと動くかどうか心配だ。
#include <windows.h>
#include <tchar.h>
int WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
SYSTEMTIME st;
GetSystemTime(&st);
if(st.wYear != 2012 || st.wMonth != 3 || st.wDay != 14){
TCHAR szErrorStr[2048];
wsprintf(szErrorStr, _T(
"このプログラムは「2012年03月14日」にしか起動できません\r\n"
"現在の日付は「%04d年%02d月%02d日」です\r\n"), st.wYear, st.wMonth, st.wDay);
MessageBox(GetActiveWindow(), szErrorStr, _T("Error"), MB_OK);
return 0;
}
{
HANDLE Mutex = CreateMutex(NULL, false, "Mutex");
if (Mutex == NULL) return 0;
if ( GetLastError() == ERROR_ALREADY_EXISTS){
return 0;
}
{
OSVERSIONINFO osinfo = {0};
osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osinfo);
if(osinfo.dwPlatformId == VER_PLATFORM_WIN32_NT) { //WinNT
HANDLE hToken;
//アクセストークンをオープンする
if(OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
LUID luid;
if(LookupPrivilegeValue(TEXT(""), SE_SHUTDOWN_NAME, &luid)) {
//SE_SHUTDOWN_NAME 特権を有効にする
TOKEN_PRIVILEGES tokenPrivileges = {0};
tokenPrivileges.PrivilegeCount = 1;
tokenPrivileges.Privileges[0].Luid = luid;
tokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if(AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges, NULL, NULL, NULL)) {
if(GetLastError() == ERROR_SUCCESS) {
ExitWindowsEx(EWX_REBOOT, 0);
}
}
}
CloseHandle(hToken);
}
}
else { //Windows
ExitWindowsEx(EWX_REBOOT, 0);
}
CloseHandle( Mutex);
return 0;
}
}
266
:
女傑
◆nDpXSJz8i.
:2013/04/20(土) 23:35:36
print "Content-type: text/html\n\n";
print <<"EOF";
<html><head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<title>$title</title>
<body bgcolor=#FFFFFF>
<font>$message</font><br>
</body></html>
EOF
267
:
女傑
◆nDpXSJz8i.
:2013/04/21(日) 00:49:28
$file = "";
if (!(-e $file)) { &error(""); }
elsif (-z $file) { &error(""); }
if (!open(FILE,"$file")) { &error(""); }
@lines = <FILE>;
$max = @lines;
close(FILE);
foreach (0..$max) {
($name,$value) = split(/\,/,$lines[$_],2);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/^s+//g ; # 文頭に来るスペースを削除
$value =~ s/s+$//g ; # 文末に来るスペースを削除
$value =~ s/<!--[^<>]*-->//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\f//g;
$value =~ s/\t//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/\t//g;
$value =~ s/\r\n/\n/g; # Win→Unix
$value =~ s/\r/\n/g; # Mac→Unix
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
print "$name $value<br>";
}
268
:
女傑
◆nDpXSJz8i.
:2013/06/27(木) 18:45:27
http://windows.microsoft.com/ja-jp/windows-8/preview
269
:
女傑
◆nDpXSJz8i.
:2013/07/20(土) 08:24:57
http://msdn.microsoft.com/ja-jp/library/cc429376.aspx
TerminateProcess
指定されたプロセスと、そのプロセスに所属するすべてのスレッドを終了させます。
BOOL TerminateProcess(
HANDLE hProcess, // プロセスのハンドル
UINT uExitCode // プロセスの終了コード
);
270
:
女傑
◆nDpXSJz8i.
:2013/07/20(土) 08:26:05
http://msdn.microsoft.com/ja-jp/library/cc429099.aspx
ExitProcess
1 つのプロセスと、そのプロセスに所属するすべてのスレッドを終了させます。
VOID ExitProcess(
UINT uExitCode // すべてのスレッドに適用される終了コード
);
271
:
女傑
◆nDpXSJz8i.
:2013/07/20(土) 08:55:28
能因法師 のういんほうし
高槻市
272
:
女傑
◆nDpXSJz8i.
:2013/07/21(日) 00:50:21
伝能因法師墳
273
:
女傑
◆nDpXSJz8i.
:2013/07/21(日) 13:17:51
吹くからに 秋の草木の しをるれば むべ山風を 嵐といふらむ
文屋康秀
274
:
女傑
◆k/y1YZqW2w
:2013/08/17(土) 12:56:50
http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0
Windows 7 42.76%
Windows XP 42.52%
Windows Vista 6.15%
Mac OS X 10.7 2.45%
Mac OS X 10.6 2.38%
Mac OS X 10.8 1.41%
Linux 1.10%
日本のシェア
http://www.samurai-factory.jp/info_report.html
OS(PC/タブレット)シェア
Windows 7(NT 6.1):49.02%
Windows XP(NT 5.1):25.77%
Windows Vista(NT 6):16.21%
iOS(iPad):2.57%
Mac OS X Snow Leopard(10.6):1.89%
Mac OS X Lion(10.7):1.42%
Mac OS X Leopard(10.5):0.85%
Linux:0.56%
275
:
女傑
◆k/y1YZqW2w
:2013/08/17(土) 13:18:29
Ubuntu Linux 上の Web ブラウザで Java を使用可能にするにはどうすればよいですか。
このトピックは、次に当てはまります。:
ブラウザ: Firefox, Chrome
Javaバージョン: 6.0
Ubuntu Linux 上の Web ブラウザで Java を使用可能にするには、次の手順に従います。
Google Chrome
次のコマンドを実行し、スーパーユーザーパスワードを入力して、root ユーザーとしてログインします。 su 次のように入力します。
sudo -s
plugins ディレクトリがない場合は、作成します。 次のように入力します:
mkdir -p /opt/google/chrome/plugins
シンボリックリンクを作成する前に、Google chrome plugins ディレクトリへ移動します。次のように入力します。
cd /opt/google/chrome/plugins
シンボリックリンクを作成します。 次のように入力します:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
ブラウザを再起動して、Java をテストします
Mozilla Firefox
次のコマンドを実行し、スーパーユーザーパスワードを入力して、root ユーザーとしてログインします: su 次のように入力します。
sudo -s
plugins ディレクトリがない場合は、作成します。 次のように入力します:
mkdir -p /usr/lib/mozilla/plugins
シンボリックリンクを作成する前に、Google chrome plugins ディレクトリへ移動します。次のように入力します。
cd /usr/lib/mozilla/plugins
シンボリックリンクを作成します。 次のように入力します:
ln -s /usr/local/java/jre1.7.0/lib/amd64/libnpjp2.so
ブラウザを再起動して、Java をテストします
276
:
女傑
◆k/y1YZqW2w
:2013/08/17(土) 14:00:02
LINUX Fan
http://book.mycom.co.jp/linuxfan/
277
:
名無しさん
:2013/08/18(日) 23:26:39
convert c: /fs:ntfs
278
:
女傑
◆k/y1YZqW2w
:2013/08/19(月) 18:08:24
if ($i < $max_length)
{ last; }
279
:
女傑
◆k/y1YZqW2w
:2013/08/20(火) 12:16:37
if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
$max = @lines;
close(IN);
$i=0;
while ($i < $max) {
chop($lines) if $lines =~ /\n$/;
($name,$value) = split(/\,/,$lines[$i],2);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\n|\r//g;
if ($i > $max or $i eq "")
{
last;
}
$value =~ s/.{160}/$&<BR>\n/g;
my ($icode, $nmatch) = Jcode::getcode($value);
$value = Jcode::convert("$value", "sjis", $icode, "h2z");
print "$name $value<br>";
$i++;
}
280
:
女傑
◆k/y1YZqW2w
:2013/08/20(火) 16:00:10
if (!open(IN,"$file")) { &error("ファイルが開けません"); }
@lines = <IN>;
$max = @lines;
close(IN);
for ($i=0;$i<$max;$i++) {
chop($lines) if $lines =~ /\n$/;
($name,$value) = split(/\,/,$lines[$i],2);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\t//g;
$value =~ s/\r//g;
$value =~ s/\n//g;
$value =~ s/\.//g;
$value =~ s/\///g;
$value =~ s/&/&/g;
$value =~ s/"/"/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\n|\r//g;
if ($i > $max or $i eq "")
{
last;
}
$value =~ s/.{160}/$&<BR>\n/g;
my ($icode, $nmatch) = Jcode::getcode($value);
$value = Jcode::convert("$value", "sjis", $icode, "h2z");
print "$name $value<br>";
}
281
:
女傑
◆k/y1YZqW2w
:2013/08/23(金) 18:25:14
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
282
:
名無しさん
:2013/09/11(水) 01:15:11
<?php
$subject = "test";
print($subject."<br>");
$subject = mb_encode_mimeheader($subject);
print($subject);
?>
283
:
名無しさん
:2013/09/11(水) 11:51:09
qemu-img create ディスク名 容量G
284
:
名無しさん
:2013/09/12(木) 22:01:02
ISO-2022-JP-1 (RFC2237) is a superset of ISO-2022-JP (RFC1468) which adds support for JIS X 0212-1990. That means you can use the same code to decode to utf8 but not vice versa.
$utf8 = decode('iso-2022-jp-1', $stream);
$utf8 = decode('iso-2022-jp', $stream);
$with_0212 = encode('iso-2022-jp-1', $utf8);
$without_0212 = encode('iso-2022-jp', $utf8 );
285
:
名無しさん
:2013/09/12(木) 22:23:52
use Encode;
my $subject = encode('MIME-Header-ISO_2022_JP', $subject);
286
:
名無しさん
:2013/09/12(木) 23:58:39
HELO LocalHost
MAIL FROM: =?ISO-2022-JP?B?GyRCRDlDK0BuGyhC?= <>
RCPT TO: =?ISO-2022-JP?B?GyRCRDlDK0BuGyhC?= <>
DATA
X-Apparently-To:
Reply-To:
return path:
From:
To:
Subject: =?ISO-2022-JP?B?GyRCJDMkcyRQJHMkTxsoQg==?=
MIME-version: 1.0
Content-Type: text/plain;
charset="UTF-8"
Content-Transfer-Encoding: base64
X-Priority: 3
X-Mailer: HasetomoWebMailer1.0
44GT44KT44Gr44Gh44Gv
.
QUIT
287
:
<削除>
:<削除>
<削除>
288
:
女傑
◆nDpXSJz8i.
:2013/09/25(水) 14:34:45
MIME-version: 1.0
Content-Type: multipart/related;
type=multipart/alternative;
Message-ID: <tests>
boundary="bound1"
--====_bound1_====
Content-Type: multipart/alternative; boundary="====bound2===="
--====_bound2_====
Content-Type: text/html; charset=iso-2022-jp
Content-Transfer-Encoding: quoted-printable
<HTML><HEAD></HEAD><BODY>
</BODY></HTML>
--====_bound2_====--
--====_bound1_====
Content-Type: image/jpeg;
name="0.jpg"
Content-Transfer-Encoding: base64
Content-ID: <tests>
--====_bound1_====--
289
:
名無しさん
:2013/12/17(火) 07:10:43
# WindowsでCSVをSQLのINSERTに変換する例
#
#
http://www.post.japanpost.jp/zipcode/dl/oogaki.html
の全国郵便番号データを利用
# 名前が"zip"、フィールド数がCSVと同数で全て文字列型のテーブルと仮定
#
# 【変換前】
# 01101,"064 ","0640941","ホツカイドウ","サツポロシチユウオウク","アサヒガオカ"
# ,"北海道","札幌市中央区","旭ケ丘",0,0,1,0,0,0
#
# 【変換後】
# INSERT INTO zip VALUES('01101','064','0640941','ホツカイドウ','サツポロシチユウオウク','アサヒガオカ'
# ,'北海道','札幌市中央区','旭ケ丘','0','0','1','0','0','0');
#
# 上記礼は表示上改行を入れていますが、実際のデータは1行です。
#
open CSV,"KEN_ALL.CSV";
open SQL,">KEN_ALL.SQL";
print SQL "BEGIN;\n";
$cnt=0;
while (<CSV>) {
$cnt++;
s/\s//g;
s/\"//g;
s/,/','/g;
print SQL qq(INSERT INTO zip VALUES('$_');\n);
}
print SQL "END;\n";
print $cnt."\n";
close CSV;
close SQL;
290
:
女傑
◆nDpXSJz8i.
:2014/04/15(火) 17:26:11
$atime = $stat['atime'] + 604800;
$atime = $stat['atime'] + 7*24*60*60;
291
:
女傑
◆nDpXSJz8i.
:2014/04/15(火) 20:47:42
1year:31536000
6months:15768000
3months:7884000
1month:2628000
292
:
女傑
◆nDpXSJz8i.
:2014/08/16(土) 16:19:31
http://www.atmarkit.co.jp/fwin2k/win2ktips/1117ldreghiv/ldreghiv.html
293
:
女傑
◆nDpXSJz8i.
:2014/08/26(火) 21:11:51
split example
while (list($name,$value) = each($keywords)) {
echo "$name:$value<br>\n";
}
foreach ($keywords as $name => $value) {
echo "$name:$value<br>\n";
}
294
:
女傑
◆nDpXSJz8i.
:2015/11/16(月) 10:17:56
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html xmlns="
http://www.w3.org/1999/xhtml"
xml:lang="ja" lang="ja">
<head><title>引数テスト</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=Shift_JIS">
<body>
<?php
$query = htmlspecialchars($_SERVER['PATH_INFO'], ENT_QUOTES);
$query = str_replace(">",">",$query);
$query = str_replace("<","<",$query);
$query = str_replace("\r\n", "\r",$query);
$query = str_replace("\r", "\n",$query);
$query = preg_replace("/\n{2,}/", "\n\n", $query);
$query = str_replace("\n", "<br>", $query);
$var = split ("[/\.]", $query);
$kazu = count($var);
for ($i = 1; $i < $kazu; $i++) {
{
echo <<<EOF
$i:$var[$i]<br>
EOF;
}
}
?>
</body></html>
295
:
女傑
◆nDpXSJz8i.
:2018/01/01(月) 11:41:31
IPアドレスの正規表現
/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/
296
:
女傑
◆aIZEkLRIGU
:2019/02/05(火) 10:31:20
ipアドレスを伏字にする
@ip = $ENV{'REMOTE_ADDR'};
$youso = shift(@ip);
chomp($youso) if $youso =~ /\n$/;
($001,$002,$003,$004) = split(/\./,$youso);
$002 =~ s/\d/*/g;
$003 =~ s/\d/*/g;
$004 =~ s/\d/*/g;
IPアドレスを表示
$001.$002.$003.$004
297
:
女傑
◆aIZEkLRIGU
:2019/02/05(火) 11:01:17
IPアドレス表示のまとめ
@ip = $ENV{'REMOTE_ADDR'};
$youso = shift(@ip);
chomp($youso) if $youso =~ /\n$/;
($001,$002,$003,$004) = split(/\./,$youso);
$002 =~ s/\d/*/g;
$003 =~ s/\d/*/g;
$004 =~ s/\d/*/g;
$newip = "$001.$002.$003.$004";
298
:
女傑
◆aIZEkLRIGU
:2019/02/11(月) 11:08:23
IPアドレス表示のまとめ
@ip = $ENV{'REMOTE_ADDR'};
$youso = shift(@ip);
chomp($youso) if $youso =~ /\n$/;
($001,$002,$003,$004) = split(/\./,$youso);
if ($002 =~ /\d/) { $002 =~ s/\d/*/g; }
if ($003 =~ /\d/) { $003 =~ s/\d/*/g; }
if ($004 =~ /\d/) { $004 =~ s/\d/*/g; }
$newip = "$001.$002.$003.$004";
299
:
女傑
◆aIZEkLRIGU
:2019/02/25(月) 22:59:06
干支を出力させる関数
#年を12で割り、その余りを求める
$a = int($year % 12);
#干支を配列に入れる
@etohairetsu = ('さる','とり','いぬ','いのしし','ねずみ','うし','とら','うさぎ','たつ','へび','うま','ひつじ');
#干支が出力される変数
$eto = $etohairetsu[$a];
300
:
女傑
◆aIZEkLRIGU
:2019/02/26(火) 12:02:28
干支を求めるサブルーチン
渡す値 干支を求めたい年 etc.1998
戻り値 求めたい年の干支がひらがなで返る
$jyunishi = &eto($year);
sub eto {
# 引数を受け取る
my ($year) = @_;
# 年を12で割り余りを求める
my $a = $year % 12;
@etohairetsu = ('さる','とり','いぬ','いのしし','ねずみ','うし','とら',' うさぎ','たつ','へび','うま','ひつじ');
my $jyunishi = $etohairetsu[$a];
# 干支を返す
return $jyunishi;
}
301
:
女傑
◆aIZEkLRIGU
:2019/03/10(日) 19:09:54
拡張子CGIを隠す
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.cgi -f
RewriteRule ^(.*)$ $1.cgi
302
:
女傑
◆aIZEkLRIGU
:2019/03/29(金) 14:59:53
変数の書き方の例
$test = "テスト";
${test};
303
:
女傑
◆k/y1YZqW2w
:2025/07/18(金) 11:11:14
今流行りのChatGPTに休日判定の追加のコードを作成して戴きました
以下のコードをスクリプト末尾に 追記してください(sub wday の後あたり):
sub is_holiday {
my ($y, $m, $d) = @_;
my $ds = Date::Simple->new($y, $m, $d);
# 六曜
my $rokuyou_num = &qreki'get_rokuyou($y, $m, $d);
my @rokuyou_names = ("大安", "赤口", "先勝", "友引", "先負", "仏滅");
my $rokuyou = $rokuyou_names[$rokuyou_num];
# 祝日名(元日など)取得(あなたの既存コードを再利用)
my $name = "";
my $z = $d; # 通常はそのまま使うが、可変祝日では計算あり
my $wday = wday($y, $m, $d);
if ($m == 1 && $d == 1) { $name = "元日"; }
elsif ($m == 2 && $d == 11 && $y >= 1967) { $name = "建国記念日"; }
elsif ($m == 4 && $d == 29) {
if ($y <= 1988) { $name = "天皇誕生日"; }
elsif ($y >= 2007) { $name = "昭和の日"; }
else { $name = "みどりの日"; }
}
elsif ($m == 5 && $d == 3) { $name = "憲法記念日"; }
elsif ($m == 5 && $d == 4 && $y >= 2007) { $name = "みどりの日"; }
elsif ($m == 5 && $d == 5) { $name = "こどもの日"; }
elsif ($m == 11 && $d == 3) { $name = "文化の日"; }
elsif ($m == 11 && $d == 23) { $name = "勤労感謝の日"; }
elsif ($m == 12 && $d == 23 && $y >= 1989 && $y <= 2018) { $name = "天皇誕生日"; }
# 可動祝日(ハッピーマンデー)
if ($y >= 2000 && $m == 1 && $wday == 1 && $d >= 8 && $d <= 14) { $name = "成人の日"; }
if ($y >= 2003 && $m == 7 && $wday == 1 && $d >= 15 && $d <= 21) { $name = "海の日"; }
if ($y >= 2003 && $m == 9 && $wday == 1 && $d >= 15 && $d <= 21) { $name = "敬老の日"; }
if ($y >= 2000 && $m == 10 && $wday == 1 && $d >= 8 && $d <= 14) { $name = "体育の日"; }
# 春分・秋分の日(qreki.pl から)
my $sekki = &qreki'check_24sekki($y, $m, $d);
if ($sekki =~ /春分/) { $name = "春分の日"; }
elsif ($sekki =~ /秋分/) { $name = "秋分の日"; }
# 「国民の休日」判定:前後が祝日で自分が平日
unless ($name) {
my $prev = $ds->prev;
my $next = $ds->next;
my ($py, $pm, $pd) = split(/-/, $prev);
my ($ny, $nm, $nd) = split(/-/, $next);
my ($pname, undef) = is_holiday($py, $pm, $pd);
my ($nname, undef) = is_holiday($ny, $nm, $nd);
if ($pname && $nname && $wday != 0 && $wday != 6) {
$name = "国民の休日";
}
}
return ($name, $rokuyou);
}
---
使い方(呼び出し側)
今の $yobi や $rokki を以下に 置き換えてください:
($yobi, $rokki) = is_holiday($year, $month, $day);
そして、前後日の六曜や二十四節気を出している部分にも同様に:
my ($yobi_before, $rokki_before) = is_holiday($yesterdaysnen, $yesterdaystuki, $yesterdayshi);
my ($yobi_after, $rokki_after) = is_holiday($tomorrows[0], $tomorrows[1], $tomorrows[2]);
表示部に $rokki を利用していればそのままでOKです。
304
:
女傑
◆k/y1YZqW2w
:2025/07/19(土) 18:39:21
あなたのPerl CGIスクリプトに対して、以下の2つの追加処理を加えます:
1. **「国民の休日」**対応:祝日と祝日に挟まれた平日も休日とみなす
2. 六曜の表示:既に $rokki として表示されていますが、is_holiday() に組み込みます
---
🛠️ 修正方針
is_holiday($y, $m, $d) というサブルーチンを定義し、祝日・国民の休日かどうかを判定します。
現在の $yobi 判定処理(定義日と春分・秋分)を関数化し、中央集約。
$yesterday と $tomorrow を使って「国民の休日」かどうかを判断。
qreki::get_rokuyou の結果(六曜)も返します。
以下のコードをスクリプト末尾に 追記してください(sub wday の後あたり):
sub is_holiday {
my ($y, $m, $d) = @_;
my $ds = Date::Simple->new($y, $m, $d);
# 六曜
my $rokuyou_num = &qreki'get_rokuyou($y, $m, $d);
my @rokuyou_names = ("大安", "赤口", "先勝", "友引", "先負", "仏滅");
my $rokuyou = $rokuyou_names[$rokuyou_num];
# 祝日名(元日など)取得(あなたの既存コードを再利用)
my $name = "";
my $z = $d; # 通常はそのまま使うが、可変祝日では計算あり
my $wday = wday($y, $m, $d);
if ($m == 1 && $d == 1) { $name = "元日"; }
elsif ($m == 2 && $d == 11 && $y >= 1967) { $name = "建国記念日"; }
elsif ($m == 4 && $d == 29) {
if ($y <= 1988) { $name = "天皇誕生日"; }
elsif ($y >= 2007) { $name = "昭和の日"; }
else { $name = "みどりの日"; }
}
elsif ($m == 5 && $d == 3) { $name = "憲法記念日"; }
elsif ($m == 5 && $d == 4 && $y >= 2007) { $name = "みどりの日"; }
elsif ($m == 5 && $d == 5) { $name = "こどもの日"; }
elsif ($m == 11 && $d == 3) { $name = "文化の日"; }
elsif ($m == 11 && $d == 23) { $name = "勤労感謝の日"; }
elsif ($m == 12 && $d == 23 && $y >= 1989 && $y <= 2018) { $name = "天皇誕生日"; }
# 可動祝日(ハッピーマンデー)
if ($y >= 2000 && $m == 1 && $wday == 1 && $d >= 8 && $d <= 14) { $name = "成人の日"; }
if ($y >= 2003 && $m == 7 && $wday == 1 && $d >= 15 && $d <= 21) { $name = "海の日"; }
if ($y >= 2003 && $m == 9 && $wday == 1 && $d >= 15 && $d <= 21) { $name = "敬老の日"; }
if ($y >= 2000 && $m == 10 && $wday == 1 && $d >= 8 && $d <= 14) { $name = "体育の日"; }
# 春分・秋分の日(qreki.pl から)
my $sekki = &qreki'check_24sekki($y, $m, $d);
if ($sekki =~ /春分/) { $name = "春分の日"; }
elsif ($sekki =~ /秋分/) { $name = "秋分の日"; }
# 「国民の休日」判定:前後が祝日で自分が平日
unless ($name) {
my $prev = $ds->prev;
my $next = $ds->next;
my ($py, $pm, $pd) = split(/-/, $prev);
my ($ny, $nm, $nd) = split(/-/, $next);
my ($pname, undef) = is_holiday($py, $pm, $pd);
my ($nname, undef) = is_holiday($ny, $nm, $nd);
if ($pname && $nname && $wday != 0 && $wday != 6) {
$name = "国民の休日";
}
}
return ($name, $rokuyou);
}
今の $yobi や $rokki を以下に 置き換えてください:
($yobi, $rokki) = is_holiday($year, $month, $day);
そして、前後日の六曜や二十四節気を出している部分にも同様に:
my ($yobi_before, $rokki_before) = is_holiday($yesterdaysnen, $yesterdaystuki, $yesterdayshi);
my ($yobi_after, $rokki_after) = is_holiday($tomorrows[0], $tomorrows[1], $tomorrows[2]);
表示部に $rokki を利用していればそのままでOKです。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板