2
 static void Job5(Args _args)
    {
     int i;
     System.DateTime netDttm;
     System.Int32 intnet;
    ;
     netDttm = new System.DateTime(2011,03,20 ,13,44,55);
     intnet = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(netDttm, Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday);

     i = intnet;

     info(int2str(i));
   }

vb.net で試してみましたが、問題なく動作しますが、x++ (.net lib を使用) で同じことを行うと、構文エラーが表示されます。指定された日付から。任意の洞察をいただければ幸いです。

PS VS .net で dll ファイルを作成し、これを AX の参照ノード (AOT) に追加するという別の解決策を見つけました。AXのコードを短縮しました static void Job5(Args _args) { weekofyear.wof asd; ; asd = new weekofyear.Wof(); print asd.weekofyr(today()); pause; }

4

3 に答える 3

4

これを試して

int i;
     System.DateTime netDttm;
     System.Int32 intnet;
     System.Globalization.CultureInfo cultureInfo;
     System.Globalization.Calendar    calendar;
     System.Globalization.CalendarWeekRule calWeekRule
    ;
     netDttm = new System.DateTime(2011,03,20 ,13,44,55);
     cultureInfo = System.Globalization.CultureInfo::get_CurrentCulture();
     calendar  = cultureInfo.get_Calendar();
     intnet = calendar.GetWeekOfYear(netDttm, System.Globalization.CalendarWeekRule::FirstFourDayWeek, System.DayOfWeek::Sunday);

     i = intnet;

 info(int2str(i));
于 2011-03-29T10:45:02.203 に答える
2

[将来の読者への注意:以下は、Indranilが投稿した元のコードのエラーについて説明しています。Indranilがこのエラーを修正したため、現在問題になっているコードには適用されません。他のエラーは、他の誰かからの別の回答で処理されました:-)]

GetWeekOfYear;への最初の引数として文字列を渡してはいけません。System.DateTime(http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspx)が必要です。(少なくとも、それは通常の.NETには当てはまります。DynamicsAXが他の魔法のようなことをするかどうかはわかりません。そうなるとは思えません。)

(ただし、文字列形式の日付が必要な場合は、それらの円記号はスラッシュに\する必要があります/。)

于 2011-03-29T09:27:04.317 に答える
1

このコードが単語全体の場所をサポートすると予想される場合は、正しい CultureInfo をロードするようにしてください。現在の CultureInfo を読み込むと、サーバーの優先カルチャが読み込まれます。ユーザーが en-gb でサーバーが en-us の場合、最初の曜日は正しくありません。

特定の cultureinfo を読み込むには、次のようにします。

System.Globalization.CultureInfo arCul = new System.Globalization.CultureInfo("en-US");

回答として選択された例では、コードは cultureinfo をロードしますが、cultureinfo は GetWeekOfYear メソッドのパラメーターとして使用されていないため、意味がありません。代わりに、cultureinfo から設定を送信できます。

于 2011-03-29T12:56:29.113 に答える