format.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #coding=utf-8
  2. import datetime
  3. from datetime import timedelta
  4. def strfdate(d):
  5. if d:
  6. return d.strftime('%Y-%m-%d')
  7. else:
  8. return ''
  9. def strftime(t):
  10. if t:
  11. return t.strftime('%Y-%m-%d %H:%M')
  12. else:
  13. return ''
  14. def strfsecond(second):
  15. sec = timedelta(seconds=second)
  16. d = datetime.datetime(1,1,1) + sec
  17. if d.hour > 0:
  18. if d.minute > 0:
  19. if d.second > 0:
  20. retval = "%d小时%d分钟%d秒" % (d.hour, d.minute, d.second)
  21. else:
  22. retval = "%d小时%d分钟" % (d.hour, d.minute)
  23. else:
  24. if d.second > 0:
  25. retval = "%d小时%d秒" % (d.hour, d.second)
  26. else:
  27. retval = "%d小时" % (d.hour)
  28. else:
  29. if d.minute > 0:
  30. if d.second > 0:
  31. retval = "%d分钟%d秒" % (d.minute, d.second)
  32. else:
  33. retval = "%d分钟" % (d.minute)
  34. else:
  35. retval = "%d秒" % (d.second)
  36. return retval
  37. def clean_datetime_range(data, fieldname):
  38. if data is not None and fieldname in data and data[fieldname] != '':
  39. t = data[fieldname].split(' - ')
  40. data = data.copy()
  41. data[fieldname+'_after'] = t[0]
  42. data[fieldname+'_before'] = t[1] + ' 23:59:59'
  43. data.pop(fieldname)
  44. return data