Download utils/date.py from Alibaba-NLP/Tongyi-DeepResearch: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/spaces/Alibaba-NLP/Tongyi-DeepResearch/resolve/main/utils/date.py
- Command line
-
hf download hf://spaces/Alibaba-NLP/Tongyi-DeepResearch/utils/date.py
-
curl -L -o date.py https://huggingface.co/spaces/Alibaba-NLP/Tongyi-DeepResearch/resolve/main/utils/date.py
1.91 kB
| import random | |
| from datetime import datetime, timedelta, timezone | |
| DEFAULT_DATE_FORMAT = "%Y-%m-%d" | |
| wdays = { | |
| "en": [ | |
| "Monday", | |
| "Tuesday", | |
| "Wednesday", | |
| "Thursday", | |
| "Friday", | |
| "Saturday", | |
| "Sunday", | |
| ], | |
| "zh": [ | |
| "ζζδΈ", | |
| "ζζδΊ", | |
| "ζζδΈ", | |
| "ζζε", | |
| "ζζδΊ", | |
| "ζζε ", | |
| "ζζζ₯", | |
| ], | |
| } | |
| def get_date_now() -> list[int]: | |
| beijing_time = datetime.now(timezone.utc) + timedelta(hours=8) | |
| date = beijing_time.timetuple() | |
| date = [int(d) for d in [date.tm_year, date.tm_mon, date.tm_mday, date.tm_wday]] | |
| return date | |
| def get_date_rand(before_days: int = 365, after_days: int = 365) -> list[int]: | |
| random_timedelta = timedelta(days=random.randint(-before_days, after_days)) | |
| rand_time = datetime.now(timezone.utc) + random_timedelta | |
| date = rand_time.timetuple() | |
| date = [int(d) for d in [date.tm_year, date.tm_mon, date.tm_mday, date.tm_wday]] | |
| return date | |
| def str2date(date_str, date_format: str = DEFAULT_DATE_FORMAT) -> list[int]: | |
| time = datetime.strptime(date_str, date_format) | |
| date = time.timetuple() | |
| date = [int(d) for d in [date.tm_year, date.tm_mon, date.tm_mday, date.tm_wday]] | |
| return date | |
| def date2str( | |
| date, | |
| sep="-", | |
| with_week: bool = False, | |
| language: str = "en", | |
| date_format: str = DEFAULT_DATE_FORMAT, | |
| ) -> str: | |
| # YYYY-MM-DD | |
| if isinstance(date, str): | |
| date = str2date(date, date_format=date_format) | |
| date_str = sep.join([f"{date[0]:04d}", f"{date[1]:02d}", f"{date[2]:02d}"]) | |
| if with_week: | |
| wday = wdays[language][date[3]] | |
| date_str = f"{date_str} {wday}" | |
| return date_str | |
| if __name__ == "__main__": | |
| rand_date = get_date_now() | |
| print(date2str(rand_date, with_week=True)) | |
| print(date2str(rand_date, with_week=True, language="zh")) | |