こんにちは。エクセルソフトの田淵です。
社内で ASP.NET で作った簡易 Google Analytics チェッカーが動いているのですが、今月に入って Development mode エラー(記録しておかなかったので不鮮明ですが)で動かなくなっていました。
結論から言うと私のコードのバグなのですがw
先月の1日を取得する際に
var now = DateTimeOffset.UtcNow; var lastMonth = new DateTimeOffset(now.Year, now.Month - 1, 1, 0, 0, 0, new TimeSpan(0));
というしょうもない書き方をしてしまっていたというだけでした。
ちゃんと DateTimeOffset
オブジェクトとして、
var now = DateTimeOffset.UtcNow; var lastMonth = new DateTimeOffset(now.Year, now.Month, 1, 0, 0, 0, new TimeSpan(0)).AddMonths(-1);
と書きましょうというお話でした。しょうもなw
DateTime
についてやその他の書き方は公式ドキュメントや Dobon.NET を参考にしてください。Qiita の記事もまとまってて良いですね。
DateTime 構造体 (System) | Microsoft Docs
明日、昨日、年(あるいは月や週)の最初の日と最後の日などを取得する - .NET Tips (VB.NET,C#...)
宣伝
私が所属する エクセルソフト では、開発者向けの様々なツール/ライブラリを提供しています。
私 @ytabuchi は Kudan AR SDK という AR の SDK と Kong という API Gateway のプロダクトを主に担当しています。
興味ある方は覗いていってください~
以上です。