getExpirationDate method

DateTime? getExpirationDate()

get Expiration date in DateTime format.

Implementation

DateTime? getExpirationDate() {
  if (expirationDate == null) {
    return null;
  }

  var magic = num.tryParse(expirationDate.toString().substring(0, 14));
  if (magic == null) {
    return null;
  }
  // 11644499200000 is the count of millis from DateTime(1601,1,1) -> DateTime(1970,1,1)
  // more docs: https://docs.microsoft.com/en-us/uwp/cpp-ref-for-winrt/clock
  // https://docs.microsoft.com/en-us/uwp/api/windows.foundation.datetime?view=winrt-22621#remarks
  // https://docs.microsoft.com/en-us/uwp/api/windows.services.store.storelicense.expirationdate?view=winrt-22621
  magic = magic - 11644499200000;
  return DateTime.fromMillisecondsSinceEpoch(magic.toInt());
}