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.4.tar.gz (14.9 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.4-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ph_utils-0.0.4.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for ph_utils-0.0.4.tar.gz
Algorithm Hash digest
SHA256 224c2c51f4860347263711bab6817736cc900501a55a57d9523814b375a631ab
MD5 f4d0fa41fad6177efd3fc33fa2f9adc5
BLAKE2b-256 9452e4429b3b6be61991c37da0e0e4cfe6fab5fba425fcff7f62aa92e06b2861

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ph_utils-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for ph_utils-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f041d71c60686a4b2072383ec021c424d8ac959189c962595f7ba7e27066faf0
MD5 e62304ea018ba5654855ce1fe9d01c95
BLAKE2b-256 3e4838fd6aab1249a72e38e74a1a8ce1d34a5657306641d5513f5d91f437ac12

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