Как отформатировать строку даты через несколько форматов в Python

По сути, платежные платежи в приложении можно тестировать только с помощью подписанного с выпуском apk (того, который мы загружаем в Google Play Console).

Вот несколько шагов, которые я получил при подписке apk с Android Studio:

Я нахожусь в Windows. Это помогает иметь adb.exe в PATH, для меня это:

C: \ Users {ваше имя пользователя} \ AppData \ Local \ Android \ sdk \ platform-tools

< / blockquote>
  1. В Google Play Console убедитесь, что приложение опубликовано (& lt; одноразовый ручной шаг после его первоначальной обработки) в альфа-или бета-канале, и у вас есть лицензионная тестовая учетная запись gmail (из Раздел «Настройки учетной записи»), который также находится в списке альфа-бета-тестеров и не является владельцем учетной записи приложения. Эта учетная запись является единственной учетной записью на устройстве. Отпустите apk и убедитесь, что все это работает из установленной версии из Play Store.
  2. У вас есть следующие настройки: В AndroidManifest.xml в разделе application узел
android:debuggable="true"
tools:ignore="HardcodedDebugMode"

И в вашем build.gradle файле в android > buildTypes > release добавьте:

debuggable true

  1. Создать подписанный APK из Android Studio
  2. Прикрепите устройство к USB-отладке. Удалить текущую установку:

adb uninstall {yourdomain}.{yourpackagename}

  1. Установить его (из пути выпуска)

adb install app-release.apk

  1. Откройте приложение на устройстве. Из меню Run в Android Studio последним вариантом является «Прикрепить отладчик к Android-процессу» - выберите ваше устройство. Вы теперь отлаживаете.

NB для выставления счетов внутри приложения номер сборки должен соответствовать тому, который в настоящее время опубликован в Play Store

29
задан Alexey Sh. 17 November 2017 в 19:42
поделиться

4 ответа

Попробуйте каждый формат и посмотрите, работает ли он:

from datetime import datetime

def try_parsing_date(text):
    for fmt in ('%Y-%m-%d', '%d.%m.%Y', '%d/%m/%Y'):
        try:
            return datetime.strptime(text, fmt)
        except ValueError:
            pass
    raise ValueError('no valid date format found')
77
ответ дан Jon Clements 17 November 2017 в 19:42
поделиться
>>> import dateutil.parser
>>> dateutil.parser.parse(date_string)

Это должно заботиться о большинстве стандартных форматов даты в Python 2.7+. Если у вас действительно есть супер настраиваемые форматы даты, вы всегда можете вернуться к тому, который упоминал Джон Клементс.

12
ответ дан khan 17 November 2017 в 19:42
поделиться

Это на самом деле проблема, с которой я столкнулся, и вот как я подошел к ней, моей главной целью было разделение даты

class InputRequest:
     "This class contain all inputs function that will be required in this program. "

      def __init__(self, stockTickerName = 'YHOO', stockSite='yahoo', startDate = None, 
             endDate = datetime.date.today()):

      def requestInput(self, requestType =''):
          "Fro requesting input from user"
          self.__requestInput = input(requestType)
          return self.__requestInput


def dateFormat(self, dateType=''):
    '''
        this function handles user date input
        this repeats until the correct format is supplied
        dataType: this is the type of date, eg: DOF, Date of Arriveal, etc 

    '''
    while True:
        try:
            dateString = InputRequest.requestInput(self,dateType)
            dtFormat = ('%Y/%m/%d','%Y-%m-%d','%Y.%m.%d','%Y,%m,%d','%Y\%m\%d') #you can add extra formats needed
            for i in dtFormat:
                try:
                    return datetime.datetime.strptime(dateString, i).strftime(i)
                except ValueError:
                    pass

        except ValueError:
            pass
        print('\nNo valid date format found. Try again:')
        print("Date must be seperated by either [/ - , . \] (eg: 2012/12/31 --> ): ")
0
ответ дан Stephen Rauch 17 November 2017 в 19:42
поделиться

Pure Python:

from datetime import datetime
my_datetime = datetime.strptime('2014-05-18', '%Y-%m-%d') 
repr(my_datetime)

>>> 'datetime.datetime(2014,5,18,0,0)'

Проверьте документацию формата datetime.strptime () для получения дополнительных строк формата.

0
ответ дан DaveL17 17 November 2017 в 19:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: