Pythonで日付を扱う場合のTips

Pythonで日付を扱いたい場合、datetimeを使うと便利です。

使い方は次のような感じです。

文字列型とdatetime型の変換

datetime型から文字列型に変換

>>> import datetime
>>> date = datetime.datetime(2020, 2, 11)
>>> date.strftime('%Y/%m/%d')
'2020/02/11'

文字列型からdatetime型に変換

>>> datetime.datetime.strptime('2020/02/11', '%Y/%m/%d')
datetime.datetime(2020, 2, 11, 0, 0)

日数の差を計算

>>> date1 = datetime.datetime.(2020, 2, 11)
>>> date2 = datetime.datetime.(2019, 2, 11)
>>> (date1 - date2).days
365

何日か後の日付を計算

>>> date = datetime.datetime.(2019, 2, 11)
>>> date + datetime.timedelta(days=365)
datetime.datetime(2020, 2, 11, 0, 0)

月の日数を調べる

calendarを使って次のような感じで取得できます。

>>> import calendar
>>> calendar.monthrange(2020, 2)[1]
29

1年は12パターンしかありませんが、うるう年も計算してくれるので便利です。

リンク

datetime — Basic date and time types — Python 3.8.2 documentation
https://docs.python.org/3/library/datetime.html

calendar — General calendar-related functions — Python 3.8.2 documentation
https://docs.python.org/3/library/calendar.html

Unity Student プラン

学生向けに無料で使える「Unity Student プラン」が始まるそうです。

Get a Unity Student plan today | Free 3D & VR software for students | Unity – Unity Store
https://store.unity.com/academic/unity-student

GitHub Student Developer Packの1つとして提供される形にっているようです。

GitHub Student Developer Pack – GitHub Education
https://education.github.com/pack

対象は18歳以上の学生で在学証明書の提出等も必要となりますが、Unity含めていろいろなサービスが提供されているみたいです。学生でゲーム開発やプログラミングに興味ある人はチェックしてみてください。

Unity 2019.3.0

Unity 2019.3.0がリリースされました。

What’s new in Unity 2019.3.0 – Unity
https://unity3d.com/unity/whats-new/2019.3.0

ということで、少し前から使っているLinux版をUnityHub経由でインストールしてみました。が、apkのビルドで

JDK not found

というエラーが発生する不具合があるみたいです。

バグレポートとかを参考に

  • Editor/Data/PlaybackEngines/AndroidPlayer/SDKにtoolsをコピー(もしくはシンボリックリンクを作成)
  • Editor/Data/PlaybackEngines/AndroidPlayer/OpenJDK/jre/bin/*Editor/Data/PlaybackEngines/AndroidPlayer/OpenJDK/bin/*の各ファイルに実行権限を追加
  • Preferences -> External ToolsのNDKパスをEditor/Data/PlaybackEngines/AndroidPlayer/NDK/android-ndk-r19に変更

という感じで修正してみたらビルドできるようになったみたいです。

インストールした環境やUnityのバージョンによって修正の仕方も変ってくるかもしれませんので、困っている人はいろいろ試してみてください。

リンク

Unity Issue Tracker – [Linux] Unity Hub sets up Android SDK, NDK and JDK incorrectly on Linux
https://issuetracker.unity3d.com/issues/ubuntu-unable-to-use-andriod-ndk-and-sdk-tool-installed-via-hub

Android build fails with “UnityException: JDK not found” – Unity Forum
https://forum.unity.com/threads/android-build-fails-with-unityexception-jdk-not-found.781850/

Unity – Download Archive
https://unity3d.com/get-unity/download/archive