質問
認識処理後、日付のフォーマット変換をしたいのですが。
例:
y: 年, m 月, d: 日
- "yyyy/m/d" から "yyyy/mm/dd" へ。 例: 2012/3/7 から 2012/03/07 へ
- "yyyy年m月d日" から "yyyy/mm/dd" へ 。例: 2012年03月07年 から 2012/03/07 へ
回答
一例をご紹介します。
- 文書定義エディタ:該当フィールドのプロパティを開き、ルールタブを開きます。
「新規ルール」ボタンをクリックします。「検証ルール」ダイアログで、スクリプトを選択し、「OK」ボタンをクリックします。
-
[新しいスクリプトルール > 全般]が開かれます。
[名前]:任意の名前を入力し、[次へ]ボタンをクリックします。
-
[新しいスクリプトルール > ルールの設定]が開かれますので、「読み取り専用」のチェックを外し、[編集]ボタンをクリックします。
-
[スクリプト]エディタが開かれますので、以下のようなスクリプトを記載します。
例: 言語:C#
string sDate = Context.Field("Date_02").Text;
sDate = (string.IsNullOrEmpty(sDate))? "": sDate;
sDate = sDate.Replace(" ", ""); // remove single byte blank
sDate = sDate.Replace(" ", ""); // remove double byte blank
sDate = sDate.Replace("年", "/"); // Change "年" to "/"
sDate = sDate.Replace("月", "/"); // Change "月" to "/"
sDate = sDate.Replace("日", ""); // remove "日"
int iYPos = sDate.IndexOf("/");
if(0<iYPos){
string sYYY = sDate.Substring(0, iYPos);
int iYYY = -1;
if (int.TryParse(sYYY, out iYYY)){
if(iYYY<200){
iYYY = iYYY + 1911;
sDate = iYYY.ToString() + sDate.Substring(iYPos, sDate.Length-iYPos);
}
}
}
// Change "yyyy/m/d" to "yyyy/mm/dd".
string[] arr = sDate.Split('/');
if(1<arr.Length && 1==arr[1].Length) arr[1] = "0" + arr[1];
if(2<arr.Length && 1==arr[2].Length) arr[2] = "0" + arr[2];
sDate = arr[0] + "/" + arr[1] + "/" + arr[2];
Context.Field("Date_02").Text = sDate;
「テスト中メニュー > テストを実行」から動作確認を実施します。
コメント
0件のコメント
サインインしてコメントを残してください。