Skip to main content

The python3 tool classes

Project description

ph-utils

Install

pip install ph-utils

The python3 tool classes. Includes the following modules:

  1. config_utils: Configure relevant tool classes, load_env
  2. date_utils: The date processing tool, parseformatsetstart_ofend_ofaddsubdifftimestamp

1. config_utils

Configure relevant tool classes.

Usage

from ph_utils.config_utils import load_env

1. load_env(file_dir, env_files): dict:

Load the environment variable file, the content behind the list will replace the content in front. file_dir - The environment variable file folder, default: os.cwd(); env_files - The environment variable file list, if None or empty list load ['.env', '.env.local', '.env.development', '.env.production']

2. load_json(file_dir, json_files): dict:

Load json file. default: ['config.json']

3. load_ini(file_dir, ini_files): dict:

Load ini file. default: [config.ini]

2. date-utils

The date processing tool.

Usage

import ph_utils.date_utils as date_utils
from ph_utils.date_utils import parse, format

1. parse(date_data: Any, fmt=None): datetime

You can parse various data formats into date objects, including time stamps, strings, and date objects themselves. Return datetime object.

  1. parse timestamp
date_utils.parse(1691997308) # 2023-08-14 15:15:08
  1. parse strings
date_utils.parse('2023-08-14 15:23:23') # 2023-08-14 15:23:23
date_utils.parse('20230814 152323') # 2023-08-14 15:23:23
date_utils.parse('2023/08/14 15:23:23', '%Y/%m/%d %H:%M:%S') # 2023-08-14 15:23:23
  1. parse None object
date_utils.parse() # 2023-08-14 15:15:23.830691
date_utils.parse(None) # 2023-08-14 15:15:23.830691
  1. parse datetime
date_utils.parse(date_utils.parse()) # 2023-08-14 15:19:48.382871

2. format(ori_date, pattern): str

Date formatting is the process of converting a date to a specific format.

Parameter description:

  1. ori_date: optional All parameters that can be supported by the parse function.
  2. pattern: optional default: %Y-%m-%d, eg: %Y-%m-%d %H:%M:%S
date_utils.format(None, '%Y-%m-%d %H:%M:%S')
date_utils.format(1691997308, '%Y-%m-%d %H:%M:%S')

3. start_of(ori_date, unit, __format): datetime | int

Set the start of a time at a certain moment.

Paramater description:

  1. unit: optional default: date, date - start time of a day
  2. __format: optional default: None, set the returned data, None - return datetime, sms return timestamp
start_of() # datetime - 2023-08-15 00:00:00
start_of(__format='s') # int - 1692028800

4. end_of(ori_date, unit, __format): datetime | int

Set the end of a time at a certain moment.

end_of() # datetime - 2023-08-15 23:59:59

5. timestamp(ori_date, unit): int

Get timestamp of a time

  1. unit: s - default length: 10,accurate to second、 ms length: 13, accurate to milliseconds.
timestamp()

6. set(ori_date, values): datetime

Set date values to a given date.

Sets time values to date from object . A value is not set if it is undefined or null or doesn't exist in values.

values: str | dict,the given date. If is dict, include the follow property. yearmonthdayhourminutesecond

set(None, '2023-08-15 14:49:49')
set(None, '2023/08/15 14:49:49')
set(None, '20230815 144949')
set(None, '20230815')
set(None, '144949')
set(None, { 'year': 2023, 'month': 8, 'day': 15, 'hour': 14, 'minute': 49, 'second': 49 })
set(None, { 'year': 2023, 'month': 8, 'day': 15 })
set(None, { 'hour': 14, 'minute': 49, 'second': 49 })

7. add(ori_date, duration): datetime

Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.

duration the object with years, months, weeks, days, hours, minutes and seconds to be added.

add(duration={
  'years': 2,
  'months': 9,
  'days': 7,
  'hours': 5,
  'minutes': 9,
  'seconds': 30,
})

8. subtract(ori_date, duration): datetime

Subtract the specified years, months, weeks, days, hours, minutes and seconds from the given date.

subtract(duration={
  'years': 2,
  'months': 9,
  'days': 7,
  'hours': 5,
  'minutes': 9,
  'seconds': 30,
})

9. sub(ori_date, duration): datetime

Alias of subtract.

10: diff(start, end, result): int | timedelta

Get the number of full day periods between two dates.

result: set the returned data. if result = days - return int, difference in days; otherwise return timedelta. default: days

diff(parse(), parse()) # => 0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ph_utils-0.0.8.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ph_utils-0.0.8-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file ph_utils-0.0.8.tar.gz.

File metadata

  • Download URL: ph_utils-0.0.8.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for ph_utils-0.0.8.tar.gz
Algorithm Hash digest
SHA256 83ca047e2f1f7f10c24a8eeea32716c69e7d2eee4eb97dc6bc48abbe91cb7249
MD5 f2c55b23083c065cb0d3d4fb25e03b4d
BLAKE2b-256 d811310d6b84acae23261d82a37edb620e4602f491efd7ded83af320b0fc46ba

See more details on using hashes here.

File details

Details for the file ph_utils-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: ph_utils-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for ph_utils-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e865d471469f60366964ef409686f600019aa0b785822c4d607dfafcc4bb8d00
MD5 8c83f87a2e6c68ffe2a38cfa56224216
BLAKE2b-256 7bc1c2d0e137876b67bc232c2c9f8b88e7e0541ae8ef0154392456f9abf09806

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page